((e, t) => {
	"object" == typeof exports && "undefined" != typeof module
		? (module.exports = t())
		: "function" == typeof define && define.amd
			? define(t)
			: ((e = "undefined" != typeof globalThis ? globalThis : e || self).less = t());
})(this, function () {
	function L(e) {
		return e
			.replace(/^[a-z-]+:\/+?[^\/]+/, "")
			.replace(/[\?\&]livereload=\w+/, "")
			.replace(/^\//, "")
			.replace(/\.[a-zA-Z]+$/, "")
			.replace(/[^\.\w-]+/g, "-")
			.replace(/\./g, ":");
	}
	function j(e, t) {
		if (t)
			for (var i in t.dataset)
				if (t.dataset.hasOwnProperty(i))
					if (
						"env" === i ||
						"dumpLineNumbers" === i ||
						"rootpath" === i ||
						"errorReporting" === i
					)
						e[i] = t.dataset[i];
					else
						try {
							e[i] = JSON.parse(t.dataset[i]);
						} catch (e) {}
	}
	var N = {
			createCSS: function (e, t, i) {
				var n = i.href || "",
					n = "less:" + (i.title || L(n)),
					r = e.getElementById(n),
					s = !1,
					o = e.createElement("style"),
					n =
						(o.setAttribute("type", "text/css"),
						i.media && o.setAttribute("media", i.media),
						(o.id = n),
						o.styleSheet ||
							(o.appendChild(e.createTextNode(t)),
							(s =
								null !== r &&
								0 < r.childNodes.length &&
								0 < o.childNodes.length &&
								r.firstChild.nodeValue === o.firstChild.nodeValue)),
						e.getElementsByTagName("head")[0]);
				if (
					((null !== r && !1 !== s) ||
						((e = (i && i.nextSibling) || null)
							? e.parentNode.insertBefore(o, e)
							: n.appendChild(o)),
					r && !1 === s && r.parentNode.removeChild(r),
					o.styleSheet)
				)
					try {
						o.styleSheet.cssText = t;
					} catch (e) {
						throw new Error("Couldn't reassign styleSheet.cssText.");
					}
			},
			currentScript: function (e) {
				var e = e.document;
				return e.currentScript || (e = e.getElementsByTagName("script"))[e.length - 1];
			}
		},
		D = {
			error: function (e) {
				this._fireEvent("error", e);
			},
			warn: function (e) {
				this._fireEvent("warn", e);
			},
			info: function (e) {
				this._fireEvent("info", e);
			},
			debug: function (e) {
				this._fireEvent("debug", e);
			},
			addListener: function (e) {
				this._listeners.push(e);
			},
			removeListener: function (e) {
				for (var t = 0; t < this._listeners.length; t++)
					if (this._listeners[t] === e) return void this._listeners.splice(t, 1);
			},
			_fireEvent: function (e, t) {
				for (var i = 0; i < this._listeners.length; i++) {
					var n = this._listeners[i][e];
					n && n(t);
				}
			},
			_listeners: []
		},
		B =
			((U.prototype.getFileManager = function (e, t, i, n, r) {
				(e ||
					D.warn(
						"getFileManager called with no filename.. Please report this issue. continuing."
					),
					null == t &&
						D.warn(
							"getFileManager called with null directory.. Please report this issue. continuing."
						));
				for (
					var s = this.fileManagers,
						o =
							(s = i.pluginManager
								? [].concat(s).concat(i.pluginManager.getFileManagers())
								: s).length - 1;
					0 <= o;
					o--
				) {
					var a = s[o];
					if (a[r ? "supportsSync" : "supports"](e, t, i, n)) return a;
				}
				return null;
			}),
			(U.prototype.addFileManager = function (e) {
				this.fileManagers.push(e);
			}),
			(U.prototype.clearFileManagers = function () {
				this.fileManagers = [];
			}),
			U);
	function U(e, t) {
		((this.fileManagers = t || []), (e = e || {}));
		for (
			var i = [],
				n = i.concat([
					"encodeBase64",
					"mimeLookup",
					"charsetLookup",
					"getSourceMapGenerator"
				]),
				r = 0;
			r < n.length;
			r++
		) {
			var s = n[r],
				o = e[s];
			o
				? (this[s] = o.bind(e))
				: r < i.length && this.warn("missing required function in environment - " + s);
		}
	}
	var q = {
			aliceblue: "#f0f8ff",
			antiquewhite: "#faebd7",
			aqua: "#00ffff",
			aquamarine: "#7fffd4",
			azure: "#f0ffff",
			beige: "#f5f5dc",
			bisque: "#ffe4c4",
			black: "#000000",
			blanchedalmond: "#ffebcd",
			blue: "#0000ff",
			blueviolet: "#8a2be2",
			brown: "#a52a2a",
			burlywood: "#deb887",
			cadetblue: "#5f9ea0",
			chartreuse: "#7fff00",
			chocolate: "#d2691e",
			coral: "#ff7f50",
			cornflowerblue: "#6495ed",
			cornsilk: "#fff8dc",
			crimson: "#dc143c",
			cyan: "#00ffff",
			darkblue: "#00008b",
			darkcyan: "#008b8b",
			darkgoldenrod: "#b8860b",
			darkgray: "#a9a9a9",
			darkgrey: "#a9a9a9",
			darkgreen: "#006400",
			darkkhaki: "#bdb76b",
			darkmagenta: "#8b008b",
			darkolivegreen: "#556b2f",
			darkorange: "#ff8c00",
			darkorchid: "#9932cc",
			darkred: "#8b0000",
			darksalmon: "#e9967a",
			darkseagreen: "#8fbc8f",
			darkslateblue: "#483d8b",
			darkslategray: "#2f4f4f",
			darkslategrey: "#2f4f4f",
			darkturquoise: "#00ced1",
			darkviolet: "#9400d3",
			deeppink: "#ff1493",
			deepskyblue: "#00bfff",
			dimgray: "#696969",
			dimgrey: "#696969",
			dodgerblue: "#1e90ff",
			firebrick: "#b22222",
			floralwhite: "#fffaf0",
			forestgreen: "#228b22",
			fuchsia: "#ff00ff",
			gainsboro: "#dcdcdc",
			ghostwhite: "#f8f8ff",
			gold: "#ffd700",
			goldenrod: "#daa520",
			gray: "#808080",
			grey: "#808080",
			green: "#008000",
			greenyellow: "#adff2f",
			honeydew: "#f0fff0",
			hotpink: "#ff69b4",
			indianred: "#cd5c5c",
			indigo: "#4b0082",
			ivory: "#fffff0",
			khaki: "#f0e68c",
			lavender: "#e6e6fa",
			lavenderblush: "#fff0f5",
			lawngreen: "#7cfc00",
			lemonchiffon: "#fffacd",
			lightblue: "#add8e6",
			lightcoral: "#f08080",
			lightcyan: "#e0ffff",
			lightgoldenrodyellow: "#fafad2",
			lightgray: "#d3d3d3",
			lightgrey: "#d3d3d3",
			lightgreen: "#90ee90",
			lightpink: "#ffb6c1",
			lightsalmon: "#ffa07a",
			lightseagreen: "#20b2aa",
			lightskyblue: "#87cefa",
			lightslategray: "#778899",
			lightslategrey: "#778899",
			lightsteelblue: "#b0c4de",
			lightyellow: "#ffffe0",
			lime: "#00ff00",
			limegreen: "#32cd32",
			linen: "#faf0e6",
			magenta: "#ff00ff",
			maroon: "#800000",
			mediumaquamarine: "#66cdaa",
			mediumblue: "#0000cd",
			mediumorchid: "#ba55d3",
			mediumpurple: "#9370d8",
			mediumseagreen: "#3cb371",
			mediumslateblue: "#7b68ee",
			mediumspringgreen: "#00fa9a",
			mediumturquoise: "#48d1cc",
			mediumvioletred: "#c71585",
			midnightblue: "#191970",
			mintcream: "#f5fffa",
			mistyrose: "#ffe4e1",
			moccasin: "#ffe4b5",
			navajowhite: "#ffdead",
			navy: "#000080",
			oldlace: "#fdf5e6",
			olive: "#808000",
			olivedrab: "#6b8e23",
			orange: "#ffa500",
			orangered: "#ff4500",
			orchid: "#da70d6",
			palegoldenrod: "#eee8aa",
			palegreen: "#98fb98",
			paleturquoise: "#afeeee",
			palevioletred: "#d87093",
			papayawhip: "#ffefd5",
			peachpuff: "#ffdab9",
			peru: "#cd853f",
			pink: "#ffc0cb",
			plum: "#dda0dd",
			powderblue: "#b0e0e6",
			purple: "#800080",
			rebeccapurple: "#663399",
			red: "#ff0000",
			rosybrown: "#bc8f8f",
			royalblue: "#4169e1",
			saddlebrown: "#8b4513",
			salmon: "#fa8072",
			sandybrown: "#f4a460",
			seagreen: "#2e8b57",
			seashell: "#fff5ee",
			sienna: "#a0522d",
			silver: "#c0c0c0",
			skyblue: "#87ceeb",
			slateblue: "#6a5acd",
			slategray: "#708090",
			slategrey: "#708090",
			snow: "#fffafa",
			springgreen: "#00ff7f",
			steelblue: "#4682b4",
			tan: "#d2b48c",
			teal: "#008080",
			thistle: "#d8bfd8",
			tomato: "#ff6347",
			turquoise: "#40e0d0",
			violet: "#ee82ee",
			wheat: "#f5deb3",
			white: "#ffffff",
			whitesmoke: "#f5f5f5",
			yellow: "#ffff00",
			yellowgreen: "#9acd32"
		},
		T = {
			length: {
				m: 1,
				cm: 0.01,
				mm: 0.001,
				in: 0.0254,
				px: 0.0254 / 96,
				pt: 0.0254 / 72,
				pc: (0.0254 / 72) * 12
			},
			duration: { s: 1, ms: 0.001 },
			angle: { rad: 1 / (2 * Math.PI), deg: 1 / 360, grad: 0.0025, turn: 1 }
		},
		z = { colors: q, unitConversions: T },
		g =
			(Object.defineProperty(n.prototype, "currentFileInfo", {
				get: function () {
					return this.fileInfo();
				},
				enumerable: !1,
				configurable: !0
			}),
			Object.defineProperty(n.prototype, "index", {
				get: function () {
					return this.getIndex();
				},
				enumerable: !1,
				configurable: !0
			}),
			(n.prototype.setParent = function (e, t) {
				function i(e) {
					e && e instanceof n && (e.parent = t);
				}
				Array.isArray(e) ? e.forEach(i) : i(e);
			}),
			(n.prototype.getIndex = function () {
				return this._index || (this.parent && this.parent.getIndex()) || 0;
			}),
			(n.prototype.fileInfo = function () {
				return this._fileInfo || (this.parent && this.parent.fileInfo()) || {};
			}),
			(n.prototype.isRulesetLike = function () {
				return !1;
			}),
			(n.prototype.toCSS = function (e) {
				var n = [];
				return (
					this.genCSS(e, {
						add: function (e, t, i) {
							n.push(e);
						},
						isEmpty: function () {
							return 0 === n.length;
						}
					}),
					n.join("")
				);
			}),
			(n.prototype.genCSS = function (e, t) {
				t.add(this.value);
			}),
			(n.prototype.accept = function (e) {
				this.value = e.visit(this.value);
			}),
			(n.prototype.eval = function () {
				return this;
			}),
			(n.prototype._operate = function (e, t, i, n) {
				switch (t) {
					case "+":
						return i + n;
					case "-":
						return i - n;
					case "*":
						return i * n;
					case "/":
						return i / n;
				}
			}),
			(n.prototype.fround = function (e, t) {
				e = e && e.numPrecision;
				return e ? Number((t + 2e-16).toFixed(e)) : t;
			}),
			(n.compare = function (e, t) {
				if (e.compare && "Quoted" !== t.type && "Anonymous" !== t.type) return e.compare(t);
				if (t.compare) return -t.compare(e);
				if (e.type === t.type) {
					if (((e = e.value), (t = t.value), !Array.isArray(e)))
						return e === t ? 0 : void 0;
					if (e.length === t.length) {
						for (var i = 0; i < e.length; i++) if (0 !== n.compare(e[i], t[i])) return;
						return 0;
					}
				}
			}),
			(n.numericCompare = function (e, t) {
				return e < t ? -1 : e === t ? 0 : t < e ? 1 : void 0;
			}),
			(n.prototype.blocksVisibility = function () {
				return (
					null == this.visibilityBlocks && (this.visibilityBlocks = 0),
					0 !== this.visibilityBlocks
				);
			}),
			(n.prototype.addVisibilityBlock = function () {
				(null == this.visibilityBlocks && (this.visibilityBlocks = 0),
					(this.visibilityBlocks = this.visibilityBlocks + 1));
			}),
			(n.prototype.removeVisibilityBlock = function () {
				(null == this.visibilityBlocks && (this.visibilityBlocks = 0),
					(this.visibilityBlocks = this.visibilityBlocks - 1));
			}),
			(n.prototype.ensureVisibility = function () {
				this.nodeVisible = !0;
			}),
			(n.prototype.ensureInvisibility = function () {
				this.nodeVisible = !1;
			}),
			(n.prototype.isVisible = function () {
				return this.nodeVisible;
			}),
			(n.prototype.visibilityInfo = function () {
				return { visibilityBlocks: this.visibilityBlocks, nodeVisible: this.nodeVisible };
			}),
			(n.prototype.copyVisibilityInfo = function (e) {
				e &&
					((this.visibilityBlocks = e.visibilityBlocks),
					(this.nodeVisible = e.nodeVisible));
			}),
			n);
	function n() {
		((this.parent = null),
			(this.visibilityBlocks = void 0),
			(this.nodeVisible = void 0),
			(this.rootNode = null),
			(this.parsed = null));
	}
	var f = function (e, t, i) {
		var n = this;
		(Array.isArray(e)
			? (this.rgb = e)
			: 6 <= e.length
				? ((this.rgb = []),
					e.match(/.{2}/g).map(function (e, t) {
						t < 3 ? n.rgb.push(parseInt(e, 16)) : (n.alpha = parseInt(e, 16) / 255);
					}))
				: ((this.rgb = []),
					e.split("").map(function (e, t) {
						t < 3
							? n.rgb.push(parseInt(e + e, 16))
							: (n.alpha = parseInt(e + e, 16) / 255);
					})),
			(this.alpha = this.alpha || ("number" == typeof t ? t : 1)),
			void 0 !== i && (this.value = i));
	};
	function G(e, t) {
		return Math.min(Math.max(e, 0), t);
	}
	function W(e) {
		return (
			"#" +
			e
				.map(function (e) {
					return ((e = G(Math.round(e), 255)) < 16 ? "0" : "") + e.toString(16);
				})
				.join("")
		);
	}
	((f.prototype = Object.assign(new g(), {
		type: "Color",
		luma: function () {
			var e = this.rgb[0] / 255,
				t = this.rgb[1] / 255,
				i = this.rgb[2] / 255;
			return (
				0.2126 * (e <= 0.03928 ? e / 12.92 : Math.pow((0.055 + e) / 1.055, 2.4)) +
				0.7152 * (t <= 0.03928 ? t / 12.92 : Math.pow((0.055 + t) / 1.055, 2.4)) +
				0.0722 * (i <= 0.03928 ? i / 12.92 : Math.pow((0.055 + i) / 1.055, 2.4))
			);
		},
		genCSS: function (e, t) {
			t.add(this.toCSS(e));
		},
		toCSS: function (e, t) {
			var i,
				n,
				t = e && e.compress && !t,
				r = [],
				s = this.fround(e, this.alpha);
			if (this.value)
				if (0 === this.value.indexOf("rgb")) s < 1 && (n = "rgba");
				else {
					if (0 !== this.value.indexOf("hsl")) return this.value;
					n = s < 1 ? "hsla" : "hsl";
				}
			else s < 1 && (n = "rgba");
			switch (n) {
				case "rgba":
					r = this.rgb
						.map(function (e) {
							return G(Math.round(e), 255);
						})
						.concat(G(s, 1));
					break;
				case "hsla":
					r.push(G(s, 1));
				case "hsl":
					((i = this.toHSL()),
						(r = [
							this.fround(e, i.h),
							this.fround(e, 100 * i.s) + "%",
							this.fround(e, 100 * i.l) + "%"
						].concat(r)));
			}
			return n
				? n + "(" + r.join("," + (t ? "" : " ")) + ")"
				: ((i = this.toRGB()),
					t && (n = i.split(""))[1] === n[2] && n[3] === n[4] && n[5] === n[6]
						? "#" + n[1] + n[3] + n[5]
						: i);
		},
		operate: function (e, t, i) {
			for (var n = new Array(3), r = this.alpha * (1 - i.alpha) + i.alpha, s = 0; s < 3; s++)
				n[s] = this._operate(e, t, this.rgb[s], i.rgb[s]);
			return new f(n, r);
		},
		toRGB: function () {
			return W(this.rgb);
		},
		toHSL: function () {
			var e,
				t,
				i = this.rgb[0] / 255,
				n = this.rgb[1] / 255,
				r = this.rgb[2] / 255,
				s = this.alpha,
				o = Math.max(i, n, r),
				a = Math.min(i, n, r),
				l = (o + a) / 2,
				u = o - a;
			if (o === a) e = t = 0;
			else {
				switch (((t = 0.5 < l ? u / (2 - o - a) : u / (o + a)), o)) {
					case i:
						e = (n - r) / u + (n < r ? 6 : 0);
						break;
					case n:
						e = (r - i) / u + 2;
						break;
					case r:
						e = (i - n) / u + 4;
				}
				e /= 6;
			}
			return { h: 360 * e, s: t, l: l, a: s };
		},
		toHSV: function () {
			var e,
				t = this.rgb[0] / 255,
				i = this.rgb[1] / 255,
				n = this.rgb[2] / 255,
				r = this.alpha,
				s = Math.max(t, i, n),
				o = Math.min(t, i, n),
				a = s,
				l = s - o,
				u = 0 === s ? 0 : l / s;
			if (s === o) e = 0;
			else {
				switch (s) {
					case t:
						e = (i - n) / l + (i < n ? 6 : 0);
						break;
					case i:
						e = (n - t) / l + 2;
						break;
					case n:
						e = (t - i) / l + 4;
				}
				e /= 6;
			}
			return { h: 360 * e, s: u, v: a, a: r };
		},
		toARGB: function () {
			return W([255 * this.alpha].concat(this.rgb));
		},
		compare: function (e) {
			return e.rgb &&
				e.rgb[0] === this.rgb[0] &&
				e.rgb[1] === this.rgb[1] &&
				e.rgb[2] === this.rgb[2] &&
				e.alpha === this.alpha
				? 0
				: void 0;
		}
	})),
		(f.fromKeyword = function (e) {
			var t,
				i = e.toLowerCase();
			if (
				(q.hasOwnProperty(i)
					? (t = new f(q[i].slice(1)))
					: "transparent" === i && (t = new f([0, 0, 0], 0)),
				t)
			)
				return ((t.value = e), t);
		}));
	function P(e) {
		this.value = e;
	}
	function J(e) {
		" " === e
			? ((this.value = " "), (this.emptyOrWhitespace = !0))
			: ((this.value = e ? e.trim() : ""), (this.emptyOrWhitespace = "" === this.value));
	}
	function E(e, t, i, n, r, s) {
		((this.combinator = e instanceof J ? e : new J(e)),
			(this.value = "string" == typeof t ? t.trim() : t || ""),
			(this.isVariable = i),
			(this._index = n),
			(this._fileInfo = r),
			this.copyVisibilityInfo(s),
			this.setParent(this.combinator, this));
	}
	P.prototype = Object.assign(new g(), {
		type: "Paren",
		genCSS: function (e, t) {
			(t.add("("), this.value.genCSS(e, t), t.add(")"));
		},
		eval: function (e) {
			return new P(this.value.eval(e));
		}
	});
	var H = { "": !0, " ": !0, "|": !0 },
		r =
			((J.prototype = Object.assign(new g(), {
				type: "Combinator",
				genCSS: function (e, t) {
					e = e.compress || H[this.value] ? "" : " ";
					t.add(e + this.value + e);
				}
			})),
			(E.prototype = Object.assign(new g(), {
				type: "Element",
				accept: function (e) {
					var t = this.value;
					((this.combinator = e.visit(this.combinator)),
						"object" == typeof t && (this.value = e.visit(t)));
				},
				eval: function (e) {
					return new E(
						this.combinator,
						this.value.eval ? this.value.eval(e) : this.value,
						this.isVariable,
						this.getIndex(),
						this.fileInfo(),
						this.visibilityInfo()
					);
				},
				clone: function () {
					return new E(
						this.combinator,
						this.value,
						this.isVariable,
						this.getIndex(),
						this.fileInfo(),
						this.visibilityInfo()
					);
				},
				genCSS: function (e, t) {
					t.add(this.toCSS(e), this.fileInfo(), this.getIndex());
				},
				toCSS: function (e) {
					var t = this.value,
						i = (e = e || {}).firstSelector;
					return (
						t instanceof P && (e.firstSelector = !0),
						(t = t.toCSS ? t.toCSS(e) : t),
						(e.firstSelector = i),
						"" === t && "&" === this.combinator.value.charAt(0)
							? ""
							: this.combinator.toCSS(e) + t
					);
				}
			})),
			{ ALWAYS: 0, PARENS_DIVISION: 1, PARENS: 2 }),
		K = { OFF: 0, LOCAL: 1, ALL: 2 };
	function Z(e) {
		return Object.prototype.toString.call(e).slice(8, -1);
	}
	function Q(e) {
		return "Array" === Z(e);
	}
	function X(o, a) {
		var e;
		return (
			void 0 === a && (a = {}),
			Q(o)
				? o.map(function (e) {
						return X(e, a);
					})
				: "Object" !== Z((e = o)) ||
					  e.constructor !== Object ||
					  Object.getPrototypeOf(e) !== Object.prototype
					? o
					: (function () {
							for (var e = 0, t = 0, i = arguments.length; t < i; t++)
								e += arguments[t].length;
							for (var n = Array(e), r = 0, t = 0; t < i; t++)
								for (var s = arguments[t], o = 0, a = s.length; o < a; o++, r++)
									n[r] = s[o];
							return n;
						})(Object.getOwnPropertyNames(o), Object.getOwnPropertySymbols(o)).reduce(
							function (e, t) {
								var i, n, r, s;
								return (
									(Q(a.props) && !a.props.includes(t)) ||
										((n = X(o[t], a)),
										(i = e),
										(t = t),
										(n = n),
										(r = o),
										(s = a.nonenumerable),
										"enumerable" ==
											(r = {}.propertyIsEnumerable.call(r, t)
												? "enumerable"
												: "nonenumerable") && (i[t] = n),
										s &&
											"nonenumerable" == r &&
											Object.defineProperty(i, t, {
												value: n,
												enumerable: !1,
												writable: !0,
												configurable: !0
											})),
									e
								);
							},
							{}
						)
		);
	}
	function Y(e, t) {
		for (var i = e + 1, n = null, r = -1; 0 <= --i && "\n" !== t.charAt(i); ) r++;
		return {
			line: (n = "number" == typeof e ? (t.slice(0, e).match(/\n/g) || "").length : n),
			column: r
		};
	}
	function y(e) {
		for (var t = e.length, i = new Array(t), n = 0; n < t; n++) i[n] = e[n];
		return i;
	}
	function ee(e) {
		var t,
			i = {};
		for (t in e) e.hasOwnProperty(t) && (i[t] = e[t]);
		return i;
	}
	function te(e, t) {
		var i = t || {};
		return (
			t._defaults ||
				((i = {}),
				(e = X(e)),
				(i._defaults = e),
				(t = t ? X(t) : {}),
				Object.assign(i, e, t)),
			i
		);
	}
	function ie(e, t) {
		if (t && t._defaults) return t;
		var i = te(e, t);
		if (
			(i.strictMath && (i.math = r.PARENS),
			i.relativeUrls && (i.rewriteUrls = K.ALL),
			"string" == typeof i.math)
		)
			switch (i.math.toLowerCase()) {
				case "always":
					i.math = r.ALWAYS;
					break;
				case "parens-division":
					i.math = r.PARENS_DIVISION;
					break;
				default:
					i.math = r.PARENS;
			}
		if ("string" == typeof i.rewriteUrls)
			switch (i.rewriteUrls.toLowerCase()) {
				case "off":
					i.rewriteUrls = K.OFF;
					break;
				case "local":
					i.rewriteUrls = K.LOCAL;
					break;
				case "all":
					i.rewriteUrls = K.ALL;
			}
		return i;
	}
	function ne(e, t) {
		void 0 === t && (t = []);
		for (var i = 0, n = e.length; i < n; i++) {
			var r = e[i];
			Array.isArray(r) ? ne(r, t) : void 0 !== r && t.push(r);
		}
		return t;
	}
	function R(e, t, i, n, r, s) {
		((this.extendList = t),
			(this.condition = i),
			(this.evaldCondition = !i),
			(this._index = n),
			(this._fileInfo = r),
			(this.elements = this.getElements(e)),
			(this.mixinElements_ = void 0),
			this.copyVisibilityInfo(s),
			this.setParent(this.elements, this));
	}
	function l(e) {
		if (!e) throw new Error("Value requires an array argument");
		Array.isArray(e) ? (this.value = e) : (this.value = [e]);
	}
	function u(e) {
		this.value = e;
	}
	function h(e, t, i, n, r, s) {
		((this.value = e),
			(this._index = t),
			(this._fileInfo = i),
			(this.mapLines = n),
			(this.rulesetLike = void 0 !== r && r),
			(this.allowRoot = !0),
			this.copyVisibilityInfo(s));
	}
	var re = Object.freeze({
			__proto__: null,
			getLocation: Y,
			copyArray: y,
			clone: ee,
			defaults: te,
			copyOptions: ie,
			merge: function (e, t) {
				for (var i in t) t.hasOwnProperty(i) && (e[i] = t[i]);
				return e;
			},
			flattenArray: ne
		}),
		se = /(<anonymous>|Function):(\d+):(\d+)/,
		I = function (e, t, i) {
			Error.call(this);
			i = e.filename || i;
			if (((this.message = e.message), (this.stack = e.stack), t && i)) {
				var t = t.contents[i],
					n = Y(e.index, t),
					r = n.line,
					n = n.column,
					s = e.call && Y(e.call, t).line,
					t = t ? t.split("\n") : "";
				if (
					((this.type = e.type || "Syntax"),
					(this.filename = i),
					(this.index = e.index),
					(this.line = "number" == typeof r ? r + 1 : null),
					(this.column = n),
					!this.line && this.stack)
				) {
					((i = this.stack.match(se)),
						(r = new Function("a", "throw new Error()")),
						(n = 0));
					try {
						r();
					} catch (e) {
						((r = e.stack.match(se)), (n = 1 - parseInt(r[2])));
					}
					i &&
						(i[2] && (this.line = parseInt(i[2]) + n), i[3]) &&
						(this.column = parseInt(i[3]));
				}
				((this.callLine = s + 1),
					(this.callExtract = t[s]),
					(this.extract = [t[this.line - 2], t[this.line - 1], t[this.line]]));
			}
		},
		oe =
			(void 0 === Object.create
				? (((t = function () {}).prototype = Error.prototype), (I.prototype = new t()))
				: (I.prototype = Object.create(Error.prototype)),
			((I.prototype.constructor = I).prototype.toString = function (e) {
				var t = "",
					i = this.extract || [],
					n = [],
					r = function (e) {
						return e;
					};
				if ((e = e || {}).stylize) {
					var s = typeof e.stylize;
					if ("function" != s)
						throw Error("options.stylize should be a function, got a " + s + "!");
					r = e.stylize;
				}
				return (
					null !== this.line &&
						("string" == typeof i[0] && n.push(r(this.line - 1 + " " + i[0], "grey")),
						"string" == typeof i[1] &&
							((s = this.line + " "),
							i[1] &&
								(s +=
									i[1].slice(0, this.column) +
									r(
										r(
											r(i[1].substr(this.column, 1), "bold") +
												i[1].slice(this.column + 1),
											"red"
										),
										"inverse"
									)),
							n.push(s)),
						"string" == typeof i[2] && n.push(r(this.line + 1 + " " + i[2], "grey")),
						(n = n.join("\n") + r("", "reset") + "\n")),
					(t += r(this.type + "Error: " + this.message, "red")),
					this.filename && (t += r(" in ", "red") + this.filename),
					this.line &&
						(t += r(
							" on line " + this.line + ", column " + (this.column + 1) + ":",
							"grey"
						)),
					(t += "\n" + n),
					(t = this.callLine
						? (t += r("from ", "red") + (this.filename || "") + "/n") +
							r(this.callLine, "grey") +
							" " +
							this.callExtract +
							"/n"
						: t)
				);
			}),
			(R.prototype = Object.assign(new g(), {
				type: "Selector",
				accept: function (e) {
					(this.elements && (this.elements = e.visitArray(this.elements)),
						this.extendList && (this.extendList = e.visitArray(this.extendList)),
						this.condition && (this.condition = e.visit(this.condition)));
				},
				createDerived: function (e, t, i) {
					e = this.getElements(e);
					e = new R(
						e,
						t || this.extendList,
						null,
						this.getIndex(),
						this.fileInfo(),
						this.visibilityInfo()
					);
					return (
						(e.evaldCondition = null != i ? i : this.evaldCondition),
						(e.mediaEmpty = this.mediaEmpty),
						e
					);
				},
				getElements: function (i) {
					return i
						? ("string" == typeof i &&
								this.parse.parseNode(
									i,
									["selector"],
									this._index,
									this._fileInfo,
									function (e, t) {
										if (e)
											throw new I(
												{ index: e.index, message: e.message },
												this.parse.imports,
												this._fileInfo.filename
											);
										i = t[0].elements;
									}
								),
							i)
						: [new E("", "&", !1, this._index, this._fileInfo)];
				},
				createEmptySelectors: function () {
					var e = new E("", "&", !1, this._index, this._fileInfo),
						e = [new R([e], null, null, this._index, this._fileInfo)];
					return ((e[0].mediaEmpty = !0), e);
				},
				match: function (e) {
					var t,
						i,
						n = this.elements,
						r = n.length;
					if (0 === (t = (e = e.mixinElements()).length) || r < t) return 0;
					for (i = 0; i < t; i++) if (n[i].value !== e[i]) return 0;
					return t;
				},
				mixinElements: function () {
					var e;
					return (
						this.mixinElements_ ||
						((e = this.elements
							.map(function (e) {
								return e.combinator.value + (e.value.value || e.value);
							})
							.join("")
							.match(/[,&#\*\.\w-]([\w-]|(\\.))*/g))
							? "&" === e[0] && e.shift()
							: (e = []),
						(this.mixinElements_ = e))
					);
				},
				isJustParentSelector: function () {
					return (
						!this.mediaEmpty &&
						1 === this.elements.length &&
						"&" === this.elements[0].value &&
						(" " === this.elements[0].combinator.value ||
							"" === this.elements[0].combinator.value)
					);
				},
				eval: function (t) {
					var e = this.condition && this.condition.eval(t),
						i = this.elements,
						n = this.extendList,
						i =
							i &&
							i.map(function (e) {
								return e.eval(t);
							}),
						n =
							n &&
							n.map(function (e) {
								return e.eval(t);
							});
					return this.createDerived(i, n, e);
				},
				genCSS: function (e, t) {
					var i;
					for (
						(e && e.firstSelector) ||
							"" !== this.elements[0].combinator.value ||
							t.add(" ", this.fileInfo(), this.getIndex()),
							i = 0;
						i < this.elements.length;
						i++
					)
						this.elements[i].genCSS(e, t);
				},
				getIsOutput: function () {
					return this.evaldCondition;
				}
			})),
			(l.prototype = Object.assign(new g(), {
				type: "Value",
				accept: function (e) {
					this.value && (this.value = e.visitArray(this.value));
				},
				eval: function (t) {
					return 1 === this.value.length
						? this.value[0].eval(t)
						: new l(
								this.value.map(function (e) {
									return e.eval(t);
								})
							);
				},
				genCSS: function (e, t) {
					for (var i = 0; i < this.value.length; i++)
						(this.value[i].genCSS(e, t),
							i + 1 < this.value.length && t.add(e && e.compress ? "," : ", "));
				}
			})),
			(u.prototype = Object.assign(new g(), {
				type: "Keyword",
				genCSS: function (e, t) {
					if ("%" === this.value)
						throw { type: "Syntax", message: "Invalid % without number" };
					t.add(this.value);
				}
			})),
			(u.True = new u("true")),
			(u.False = new u("false")),
			(h.prototype = Object.assign(new g(), {
				type: "Anonymous",
				eval: function () {
					return new h(
						this.value,
						this._index,
						this._fileInfo,
						this.mapLines,
						this.rulesetLike,
						this.visibilityInfo()
					);
				},
				compare: function (e) {
					return e.toCSS && this.toCSS() === e.toCSS() ? 0 : void 0;
				},
				isRulesetLike: function () {
					return this.rulesetLike;
				},
				genCSS: function (e, t) {
					((this.nodeVisible = Boolean(this.value)),
						this.nodeVisible &&
							t.add(this.value, this._fileInfo, this._index, this.mapLines));
				}
			})),
			r);
	function b(e, t, i, n, r, s, o, a) {
		((this.name = e),
			(this.value = t instanceof g ? t : new l([t ? new h(t) : null])),
			(this.important = i ? " " + i.trim() : ""),
			(this.merge = n),
			(this._index = r),
			(this._fileInfo = s),
			(this.inline = o || !1),
			(this.variable = void 0 !== a ? a : e.charAt && "@" === e.charAt(0)),
			(this.allowRoot = !0),
			this.setParent(this.value, this));
	}
	function ae(e) {
		return "/* line " + e.debugInfo.lineNumber + ", " + e.debugInfo.fileName + " */\n";
	}
	function le(e) {
		var t = e.debugInfo.fileName;
		return (
			"@media -sass-debug-info{filename{font-family:" +
			(t = /^[a-z]+:\/\//i.test(t) ? t : "file://" + t).replace(/([.:\/\\])/g, function (e) {
				return "\\" + (e = "\\" == e ? "/" : e);
			}) +
			"}line{font-family:\\00003" +
			e.debugInfo.lineNumber +
			"}}\n"
		);
	}
	function ue(e, t, i) {
		var n = "";
		if (e.dumpLineNumbers && !e.compress)
			switch (e.dumpLineNumbers) {
				case "comments":
					n = ae(t);
					break;
				case "mediaquery":
					n = le(t);
					break;
				case "all":
					n = ae(t) + (i || "") + le(t);
			}
		return n;
	}
	b.prototype = Object.assign(new g(), {
		type: "Declaration",
		genCSS: function (e, t) {
			t.add(this.name + (e.compress ? ":" : ": "), this.fileInfo(), this.getIndex());
			try {
				this.value.genCSS(e, t);
			} catch (e) {
				throw ((e.index = this._index), (e.filename = this._fileInfo.filename), e);
			}
			t.add(
				this.important + (this.inline || (e.lastRule && e.compress) ? "" : ";"),
				this._fileInfo,
				this._index
			);
		},
		eval: function (e) {
			var t,
				i,
				n,
				r,
				s = !1,
				o = this.name,
				a = this.variable;
			("string" != typeof o &&
				((o =
					1 === o.length && o[0] instanceof u
						? o[0].value
						: ((e, t) => {
								for (
									var i = "",
										n = t.length,
										r = {
											add: function (e) {
												i += e;
											}
										},
										s = 0;
									s < n;
									s++
								)
									t[s].eval(e).genCSS(e, r);
								return i;
							})(e, o)),
				(a = !1)),
				"font" === o &&
					e.math === oe.ALWAYS &&
					((s = !0), (t = e.math), (e.math = oe.PARENS_DIVISION)));
			try {
				if (
					(e.importantScope.push({}),
					(i = this.value.eval(e)),
					this.variable || "DetachedRuleset" !== i.type)
				)
					return (
						(n = this.important),
						(r = e.importantScope.pop()),
						!n && r.important && (n = r.important),
						new b(o, i, n, this.merge, this.getIndex(), this.fileInfo(), this.inline, a)
					);
				throw {
					message: "Rulesets cannot be evaluated on a property.",
					index: this.getIndex(),
					filename: this.fileInfo().filename
				};
			} catch (e) {
				throw (
					"number" != typeof e.index &&
						((e.index = this.getIndex()), (e.filename = this.fileInfo().filename)),
					e
				);
			} finally {
				s && (e.math = t);
			}
		},
		makeImportant: function () {
			return new b(
				this.name,
				this.value,
				"!important",
				this.merge,
				this.getIndex(),
				this.fileInfo(),
				this.inline
			);
		}
	});
	function ce(e, t, i, n) {
		((this.value = e),
			(this.isLineComment = t),
			(this._index = i),
			(this._fileInfo = n),
			(this.allowRoot = !0));
	}
	function he(e, t, i) {
		if (e) for (var n = 0; n < i.length; n++) e.hasOwnProperty(i[n]) && (t[i[n]] = e[i[n]]);
	}
	ce.prototype = Object.assign(new g(), {
		type: "Comment",
		genCSS: function (e, t) {
			(this.debugInfo && t.add(ue(e, this), this.fileInfo(), this.getIndex()),
				t.add(this.value));
		},
		isSilent: function (e) {
			e = e.compress && "!" !== this.value[2];
			return this.isLineComment || e;
		}
	});
	var C = {},
		fe = [
			"paths",
			"rewriteUrls",
			"rootpath",
			"strictImports",
			"insecure",
			"dumpLineNumbers",
			"compress",
			"syncImport",
			"chunkInput",
			"mime",
			"useFileCache",
			"processImports",
			"pluginManager"
		],
		pe =
			((C.Parse = function (e) {
				(he(e, this, fe), "string" == typeof this.paths && (this.paths = [this.paths]));
			}),
			[
				"paths",
				"compress",
				"math",
				"strictUnits",
				"sourceMap",
				"importMultiple",
				"urlArgs",
				"javascriptEnabled",
				"pluginManager",
				"importantScope",
				"rewriteUrls"
			]);
	function de(e) {
		return !/^(?:[a-z-]+:|\/|#)/i.test(e);
	}
	function me(e) {
		return "." === e.charAt(0);
	}
	((C.Eval = function (e, t) {
		(he(e, this, pe),
			"string" == typeof this.paths && (this.paths = [this.paths]),
			(this.frames = t || []),
			(this.importantScope = this.importantScope || []));
	}),
		(C.Eval.prototype.enterCalc = function () {
			(this.calcStack || (this.calcStack = []), this.calcStack.push(!0), (this.inCalc = !0));
		}),
		(C.Eval.prototype.exitCalc = function () {
			(this.calcStack.pop(), this.calcStack.length || (this.inCalc = !1));
		}),
		(C.Eval.prototype.inParenthesis = function () {
			(this.parensStack || (this.parensStack = []), this.parensStack.push(!0));
		}),
		(C.Eval.prototype.outOfParenthesis = function () {
			this.parensStack.pop();
		}),
		(C.Eval.prototype.inCalc = !1),
		(C.Eval.prototype.mathOn = !0),
		(C.Eval.prototype.isMathOn = function (e) {
			return (
				!!this.mathOn &&
				!!(
					"/" !== e ||
					this.math === r.ALWAYS ||
					(this.parensStack && this.parensStack.length)
				) &&
				(!(this.math > r.PARENS_DIVISION) || (this.parensStack && this.parensStack.length))
			);
		}),
		(C.Eval.prototype.pathRequiresRewrite = function (e) {
			return (this.rewriteUrls === K.LOCAL ? me : de)(e);
		}),
		(C.Eval.prototype.rewritePath = function (e, t) {
			var i = this.normalizePath((t = t || "") + e);
			return (i = me(e) && de(t) && !1 === me(i) ? "./" + i : i);
		}),
		(C.Eval.prototype.normalizePath = function (e) {
			var t,
				i = e.split("/").reverse();
			for (e = []; 0 !== i.length; )
				switch ((t = i.pop())) {
					case ".":
						break;
					case "..":
						0 === e.length || ".." === e[e.length - 1] ? e.push(t) : e.pop();
						break;
					default:
						e.push(t);
				}
			return e.join("/");
		}));
	function w(e, t, i, n) {
		((this.selectors = e),
			(this.rules = t),
			(this._lookups = {}),
			(this._variables = null),
			(this._properties = null),
			(this.strictImports = i),
			this.copyVisibilityInfo(n),
			(this.allowRoot = !0),
			this.setParent(this.selectors, this),
			this.setParent(this.rules, this));
	}
	function ve(e, t, i, n, r, s, o, a) {
		var l;
		if (((this.name = e), (this.value = t instanceof g ? t : t && new h(t)), i)) {
			for (
				Array.isArray(i)
					? (this.rules = i)
					: ((this.rules = [i]),
						(this.rules[0].selectors = new R(
							[],
							null,
							null,
							n,
							r
						).createEmptySelectors())),
					l = 0;
				l < this.rules.length;
				l++
			)
				this.rules[l].allowImports = !0;
			this.setParent(this.rules, this);
		}
		((this._index = n),
			(this._fileInfo = r),
			(this.debugInfo = s),
			(this.isRooted = o || !1),
			this.copyVisibilityInfo(a),
			(this.allowRoot = !0));
	}
	function ge(e, t) {
		((this.ruleset = e), (this.frames = t), this.setParent(this.ruleset, this));
	}
	function ye(e, t, i) {
		((this.numerator = e ? y(e).sort() : []),
			(this.denominator = t ? y(t).sort() : []),
			i ? (this.backupUnit = i) : e && e.length && (this.backupUnit = e[0]));
	}
	function s(e, t, i) {
		((this.op = e.trim()), (this.operands = t), (this.isSpaced = i));
	}
	var x = (function e(t) {
			return {
				_data: {},
				add: function (e, t) {
					((e = e.toLowerCase()), this._data.hasOwnProperty(e), (this._data[e] = t));
				},
				addMultiple: function (t) {
					var i = this;
					Object.keys(t).forEach(function (e) {
						i.add(e, t[e]);
					});
				},
				get: function (e) {
					return this._data[e] || (t && t.get(e));
				},
				getLocalFunctions: function () {
					return this._data;
				},
				inherit: function () {
					return e(this);
				},
				create: e
			};
		})(null),
		be = {
			eval: function () {
				var e = this.value_,
					t = this.error_;
				if (t) throw t;
				if (null != e) return e ? u.True : u.False;
			},
			value: function (e) {
				this.value_ = e;
			},
			error: function (e) {
				this.error_ = e;
			},
			reset: function () {
				this.value_ = this.error_ = null;
			}
		},
		p =
			((w.prototype = Object.assign(new g(), {
				type: "Ruleset",
				isRuleset: !0,
				isRulesetLike: function () {
					return !0;
				},
				accept: function (e) {
					(this.paths
						? (this.paths = e.visitArray(this.paths, !0))
						: this.selectors && (this.selectors = e.visitArray(this.selectors)),
						this.rules && this.rules.length && (this.rules = e.visitArray(this.rules)));
				},
				eval: function (e) {
					var i,
						t,
						n,
						r = !1;
					if (this.selectors && (t = this.selectors.length)) {
						for (
							i = new Array(t),
								be.error({
									type: "Syntax",
									message:
										"it is currently only allowed in parametric mixin guards,"
								}),
								l = 0;
							l < t;
							l++
						) {
							for (
								var s = this.selectors[l].eval(e), o = 0;
								o < s.elements.length;
								o++
							)
								if (s.elements[o].isVariable) {
									n = !0;
									break;
								}
							(i[l] = s).evaldCondition && (r = !0);
						}
						if (n) {
							for (var a = new Array(t), l = 0; l < t; l++)
								((s = i[l]), (a[l] = s.toCSS(e)));
							this.parse.parseNode(
								a.join(","),
								["selectors"],
								i[0].getIndex(),
								i[0].fileInfo(),
								function (e, t) {
									t && (i = ne(t));
								}
							);
						}
						be.reset();
					} else r = !0;
					var u,
						c,
						h = this.rules ? y(this.rules) : null,
						f = new w(i, h, this.strictImports, this.visibilityInfo()),
						p =
							((f.originalRuleset = this),
							(f.root = this.root),
							(f.firstRoot = this.firstRoot),
							(f.allowImports = this.allowImports),
							this.debugInfo && (f.debugInfo = this.debugInfo),
							r || (h.length = 0),
							(f.functionRegistry = (e => {
								for (var t, i = 0, n = e.length; i !== n; ++i)
									if ((t = e[i].functionRegistry)) return t;
								return x;
							})(e.frames).inherit()),
							e.frames),
						d = (p.unshift(f), e.selectors),
						m =
							(d || (e.selectors = d = []),
							d.unshift(this.selectors),
							(!f.root && !f.allowImports && f.strictImports) || f.evalImports(e),
							f.rules);
					for (l = 0; (u = m[l]); l++) u.evalFirst && (m[l] = u.eval(e));
					var v = (e.mediaBlocks && e.mediaBlocks.length) || 0;
					for (l = 0; (u = m[l]); l++)
						"MixinCall" === u.type
							? ((h = u.eval(e).filter(function (e) {
									return !(e instanceof b && e.variable && f.variable(e.name));
								})),
								m.splice.apply(m, [l, 1].concat(h)),
								(l += h.length - 1),
								f.resetCache())
							: "VariableCall" === u.type &&
								((h = u.eval(e).rules.filter(function (e) {
									return !(e instanceof b && e.variable);
								})),
								m.splice.apply(m, [l, 1].concat(h)),
								(l += h.length - 1),
								f.resetCache());
					for (l = 0; (u = m[l]); l++) u.evalFirst || (m[l] = u = u.eval ? u.eval(e) : u);
					for (l = 0; (u = m[l]); l++)
						if (
							u instanceof w &&
							u.selectors &&
							1 === u.selectors.length &&
							u.selectors[0] &&
							u.selectors[0].isJustParentSelector()
						) {
							m.splice(l--, 1);
							for (o = 0; (c = u.rules[o]); o++)
								c instanceof g &&
									(c.copyVisibilityInfo(u.visibilityInfo()),
									(c instanceof b && c.variable) || m.splice(++l, 0, c));
						}
					if ((p.shift(), d.shift(), e.mediaBlocks))
						for (l = v; l < e.mediaBlocks.length; l++)
							e.mediaBlocks[l].bubbleSelectors(i);
					return f;
				},
				evalImports: function (e) {
					var t,
						i,
						n = this.rules;
					if (n)
						for (t = 0; t < n.length; t++)
							"Import" === n[t].type &&
								((i = n[t].eval(e)) && (i.length || 0 === i.length)
									? (n.splice.apply(n, [t, 1].concat(i)), (t += i.length - 1))
									: n.splice(t, 1, i),
								this.resetCache());
				},
				makeImportant: function () {
					return new w(
						this.selectors,
						this.rules.map(function (e) {
							return e.makeImportant ? e.makeImportant() : e;
						}),
						this.strictImports,
						this.visibilityInfo()
					);
				},
				matchArgs: function (e) {
					return !e || 0 === e.length;
				},
				matchCondition: function (e, t) {
					var i = this.selectors[this.selectors.length - 1];
					return !(
						!i.evaldCondition ||
						(i.condition && !i.condition.eval(new C.Eval(t, t.frames)))
					);
				},
				resetCache: function () {
					((this._rulesets = null),
						(this._variables = null),
						(this._properties = null),
						(this._lookups = {}));
				},
				variables: function () {
					return (
						this._variables ||
							(this._variables = this.rules
								? this.rules.reduce(function (e, t) {
										if (
											(t instanceof b && !0 === t.variable && (e[t.name] = t),
											"Import" === t.type && t.root && t.root.variables)
										) {
											var i,
												n = t.root.variables();
											for (i in n)
												n.hasOwnProperty(i) && (e[i] = t.root.variable(i));
										}
										return e;
									}, {})
								: {}),
						this._variables
					);
				},
				properties: function () {
					return (
						this._properties ||
							(this._properties = this.rules
								? this.rules.reduce(function (e, t) {
										var i;
										return (
											t instanceof b &&
												!0 !== t.variable &&
												(e[
													"$" +
														(i =
															1 === t.name.length &&
															t.name[0] instanceof u
																? t.name[0].value
																: t.name)
												]
													? e["$" + i].push(t)
													: (e["$" + i] = [t])),
											e
										);
									}, {})
								: {}),
						this._properties
					);
				},
				variable: function (e) {
					e = this.variables()[e];
					if (e) return this.parseValue(e);
				},
				property: function (e) {
					e = this.properties()[e];
					if (e) return this.parseValue(e);
				},
				lastDeclaration: function () {
					for (var e = this.rules.length; 0 < e; e--) {
						var t = this.rules[e - 1];
						if (t instanceof b) return this.parseValue(t);
					}
				},
				parseValue: function (e) {
					var t,
						i = this;
					function n(i) {
						return (
							i.value instanceof h &&
								!i.parsed &&
								("string" == typeof i.value.value
									? this.parse.parseNode(
											i.value.value,
											["value", "important"],
											i.value.getIndex(),
											i.fileInfo(),
											function (e, t) {
												(e && (i.parsed = !0),
													t &&
														((i.value = t[0]),
														(i.important = t[1] || ""),
														(i.parsed = !0)));
											}
										)
									: (i.parsed = !0)),
							i
						);
					}
					return Array.isArray(e)
						? ((t = []),
							e.forEach(function (e) {
								t.push(n.call(i, e));
							}),
							t)
						: n.call(i, e);
				},
				rulesets: function () {
					if (!this.rules) return [];
					for (var e, t = [], i = this.rules, n = 0; (e = i[n]); n++)
						e.isRuleset && t.push(e);
					return t;
				},
				prependRule: function (e) {
					var t = this.rules;
					(t ? t.unshift(e) : (this.rules = [e]), this.setParent(e, this));
				},
				find: function (n, r, s) {
					r = r || this;
					var o,
						a,
						l = [],
						e = n.toCSS();
					return e in this._lookups
						? this._lookups[e]
						: (this.rulesets().forEach(function (e) {
								if (e !== r)
									for (var t = 0; t < e.selectors.length; t++)
										if ((o = n.match(e.selectors[t]))) {
											if (n.elements.length > o) {
												if (!s || s(e)) {
													a = e.find(new R(n.elements.slice(o)), r, s);
													for (var i = 0; i < a.length; ++i)
														a[i].path.push(e);
													Array.prototype.push.apply(l, a);
												}
											} else l.push({ rule: e, path: [] });
											break;
										}
							}),
							(this._lookups[e] = l));
				},
				genCSS: function (e, t) {
					var i,
						n,
						r,
						s,
						o = [],
						a =
							((e.tabLevel = e.tabLevel || 0),
							this.root || e.tabLevel++,
							e.compress ? "" : Array(e.tabLevel + 1).join("  ")),
						l = e.compress ? "" : Array(e.tabLevel).join("  "),
						u = 0,
						c = 0;
					for (m = 0; (r = this.rules[m]); m++)
						r instanceof ce
							? (c === m && c++, o.push(r))
							: r.isCharset && r.isCharset()
								? (o.splice(u, 0, r), u++, c++)
								: "Import" === r.type
									? (o.splice(c, 0, r), c++)
									: o.push(r);
					if (((o = [].concat(o)), !this.root)) {
						(n = ue(e, this, l)) && (t.add(n), t.add(l));
						for (
							var h,
								f = this.paths,
								p = f.length,
								d = e.compress ? "," : ",\n" + l,
								m = 0;
							m < p;
							m++
						)
							if ((h = (s = f[m]).length))
								for (
									0 < m && t.add(d),
										e.firstSelector = !0,
										s[0].genCSS(e, t),
										e.firstSelector = !1,
										i = 1;
									i < h;
									i++
								)
									s[i].genCSS(e, t);
						t.add((e.compress ? "{" : " {\n") + a);
					}
					for (m = 0; (r = o[m]); m++) {
						m + 1 === o.length && (e.lastRule = !0);
						var v = e.lastRule;
						(r.isRulesetLike(r) && (e.lastRule = !1),
							r.genCSS ? r.genCSS(e, t) : r.value && t.add(r.value.toString()),
							(e.lastRule = v),
							!e.lastRule && r.isVisible()
								? t.add(e.compress ? "" : "\n" + a)
								: (e.lastRule = !1));
					}
					(this.root || (t.add(e.compress ? "}" : "\n" + l + "}"), e.tabLevel--),
						t.isEmpty() || e.compress || !this.firstRoot || t.add("\n"));
				},
				joinSelectors: function (e, t, i) {
					for (var n = 0; n < i.length; n++) this.joinSelector(e, t, i[n]);
				},
				joinSelector: function (e, t, i) {
					function A(e, t, i, n) {
						var r, s;
						return (
							(s = []),
							(e =
								0 < e.length
									? ((e = (s = y(e)).pop()), n.createDerived(y(e.elements)))
									: n.createDerived([])),
							0 < t.length &&
								((n = i.combinator),
								(r = t[0].elements[0]),
								n.emptyOrWhitespace &&
									!r.combinator.emptyOrWhitespace &&
									(n = r.combinator),
								e.elements.push(
									new E(n, r.value, i.isVariable, i._index, i._fileInfo)
								),
								(e.elements = e.elements.concat(t[0].elements.slice(1)))),
							0 !== e.elements.length && s.push(e),
							1 < t.length &&
								((n = (n = t.slice(1)).map(function (e) {
									return e.createDerived(e.elements, []);
								})),
								(s = s.concat(n))),
							s
						);
					}
					function M(e, t) {
						var i, n;
						if (0 !== e.length)
							if (0 === t.length) t.push([new R(e)]);
							else
								for (i = 0; (n = t[i]); i++)
									0 < n.length
										? (n[n.length - 1] = n[n.length - 1].createDerived(
												n[n.length - 1].elements.concat(e)
											))
										: n.push(new R(e));
					}
					function n(e, t) {
						t = t.createDerived(t.elements, t.extendList, t.evaldCondition);
						return (t.copyVisibilityInfo(e), t);
					}
					var r,
						s = [];
					if (
						!(function e(t, i, n) {
							var r,
								s,
								o,
								a,
								l,
								u,
								c,
								h,
								f,
								p = !1;
							for (o = [], a = [[]], r = 0; (c = n.elements[r]); r++)
								if ("&" !== c.value)
									if (
										null !=
										(v =
											(v = c).value instanceof P &&
											(v = v.value.value) instanceof R
												? v
												: null)
									) {
										M(o, a);
										for (
											var d = [], m = [], v = e(d, i, v), p = p || v, g = 0;
											g < d.length;
											g++
										) {
											((y = ((e, t) => {
												var i;
												if (0 === e.length) i = new P(e[0]);
												else {
													for (
														var n = new Array(e.length), r = 0;
														r < e.length;
														r++
													)
														n[r] = new E(
															null,
															e[r],
															t.isVariable,
															t._index,
															t._fileInfo
														);
													i = new P(new R(n));
												}
												return i;
											})(d[g], c)),
												(y = new E(
													null,
													y,
													c.isVariable,
													c._index,
													c._fileInfo
												)));
											for (
												var y = new R([y]),
													b = ((k = C = I = S = x = w = b = void 0), a),
													w = [y],
													x = c,
													S = n,
													I = m,
													C = 0;
												C < b.length;
												C++
											) {
												var k = A(b[C], w, x, S);
												I.push(k);
											}
										}
										((a = m), (o = []));
									} else o.push(c);
								else {
									for (p = !0, l = [], M(o, a), s = 0; s < a.length; s++)
										if (((u = a[s]), 0 === i.length))
											(0 < u.length &&
												u[0].elements.push(
													new E(
														c.combinator,
														"",
														c.isVariable,
														c._index,
														c._fileInfo
													)
												),
												l.push(u));
										else
											for (g = 0; g < i.length; g++) {
												var _ = A(u, i[g], c, n);
												l.push(_);
											}
									((a = l), (o = []));
								}
							for (M(o, a), r = 0; r < a.length; r++)
								0 < (h = a[r].length) &&
									(t.push(a[r]),
									(f = a[r][h - 1]),
									(a[r][h - 1] = f.createDerived(f.elements, n.extendList)));
							return p;
						})(s, t, i)
					)
						if (0 < t.length)
							for (s = [], r = 0; r < t.length; r++) {
								var o = t[r].map(n.bind(this, i.visibilityInfo()));
								(o.push(i), s.push(o));
							}
						else s = [[i]];
					for (r = 0; r < s.length; r++) e.push(s[r]);
				}
			})),
			(ve.prototype = Object.assign(new g(), {
				type: "AtRule",
				accept: function (e) {
					var t = this.value,
						i = this.rules;
					(i && (this.rules = e.visitArray(i)), t && (this.value = e.visit(t)));
				},
				isRulesetLike: function () {
					return this.rules || !this.isCharset();
				},
				isCharset: function () {
					return "@charset" === this.name;
				},
				genCSS: function (e, t) {
					var i = this.value,
						n = this.rules;
					(t.add(this.name, this.fileInfo(), this.getIndex()),
						i && (t.add(" "), i.genCSS(e, t)),
						n ? this.outputRuleset(e, t, n) : t.add(";"));
				},
				eval: function (e) {
					var t = this.value,
						i = this.rules,
						n = e.mediaPath,
						r = e.mediaBlocks;
					return (
						(e.mediaPath = []),
						(e.mediaBlocks = []),
						(t = t && t.eval(e)),
						i && ((i = [i[0].eval(e)])[0].root = !0),
						(e.mediaPath = n),
						(e.mediaBlocks = r),
						new ve(
							this.name,
							t,
							i,
							this.getIndex(),
							this.fileInfo(),
							this.debugInfo,
							this.isRooted,
							this.visibilityInfo()
						)
					);
				},
				variable: function (e) {
					if (this.rules) return w.prototype.variable.call(this.rules[0], e);
				},
				find: function () {
					if (this.rules) return w.prototype.find.apply(this.rules[0], arguments);
				},
				rulesets: function () {
					if (this.rules) return w.prototype.rulesets.apply(this.rules[0]);
				},
				outputRuleset: function (e, t, i) {
					var n,
						r = i.length;
					if (((e.tabLevel = 1 + (0 | e.tabLevel)), e.compress)) {
						for (t.add("{"), n = 0; n < r; n++) i[n].genCSS(e, t);
						t.add("}");
					} else {
						var s = "\n" + Array(e.tabLevel).join("  "),
							o = s + "  ";
						if (r) {
							for (t.add(" {" + o), i[0].genCSS(e, t), n = 1; n < r; n++)
								(t.add(o), i[n].genCSS(e, t));
							t.add(s + "}");
						} else t.add(" {" + s + "}");
					}
					e.tabLevel--;
				}
			})),
			(ge.prototype = Object.assign(new g(), {
				type: "DetachedRuleset",
				evalFirst: !0,
				accept: function (e) {
					this.ruleset = e.visit(this.ruleset);
				},
				eval: function (e) {
					e = this.frames || y(e.frames);
					return new ge(this.ruleset, e);
				},
				callEval: function (e) {
					return this.ruleset.eval(
						this.frames ? new C.Eval(e, this.frames.concat(e.frames)) : e
					);
				}
			})),
			(ye.prototype = Object.assign(new g(), {
				type: "Unit",
				clone: function () {
					return new ye(y(this.numerator), y(this.denominator), this.backupUnit);
				},
				genCSS: function (e, t) {
					e = e && e.strictUnits;
					1 === this.numerator.length
						? t.add(this.numerator[0])
						: !e && this.backupUnit
							? t.add(this.backupUnit)
							: !e && this.denominator.length && t.add(this.denominator[0]);
				},
				toString: function () {
					for (var e = this.numerator.join("*"), t = 0; t < this.denominator.length; t++)
						e += "/" + this.denominator[t];
					return e;
				},
				compare: function (e) {
					return this.is(e.toString()) ? 0 : void 0;
				},
				is: function (e) {
					return this.toString().toUpperCase() === e.toUpperCase();
				},
				isLength: function () {
					return RegExp(
						"^(px|em|ex|ch|rem|in|cm|mm|pc|pt|ex|vw|vh|vmin|vmax)$",
						"gi"
					).test(this.toCSS());
				},
				isEmpty: function () {
					return 0 === this.numerator.length && 0 === this.denominator.length;
				},
				isSingular: function () {
					return this.numerator.length <= 1 && 0 === this.denominator.length;
				},
				map: function (e) {
					for (var t = 0; t < this.numerator.length; t++)
						this.numerator[t] = e(this.numerator[t], !1);
					for (t = 0; t < this.denominator.length; t++)
						this.denominator[t] = e(this.denominator[t], !0);
				},
				usedUnits: function () {
					var t,
						i,
						n = {},
						e = function (e) {
							return (t.hasOwnProperty(e) && !n[i] && (n[i] = e), e);
						};
					for (i in T) T.hasOwnProperty(i) && ((t = T[i]), this.map(e));
					return n;
				},
				cancel: function () {
					for (var e, t = {}, i = 0; i < this.numerator.length; i++)
						t[(e = this.numerator[i])] = (t[e] || 0) + 1;
					for (i = 0; i < this.denominator.length; i++)
						t[(e = this.denominator[i])] = (t[e] || 0) - 1;
					for (e in ((this.numerator = []), (this.denominator = []), t))
						if (t.hasOwnProperty(e)) {
							var n = t[e];
							if (0 < n) for (i = 0; i < n; i++) this.numerator.push(e);
							else if (n < 0) for (i = 0; i < -n; i++) this.denominator.push(e);
						}
					(this.numerator.sort(), this.denominator.sort());
				}
			})),
			function (e, t) {
				if (((this.value = parseFloat(e)), isNaN(this.value)))
					throw new Error("Dimension is not a number.");
				((this.unit = t && t instanceof ye ? t : new ye(t ? [t] : void 0)),
					this.setParent(this.unit, this));
			}),
		we =
			((p.prototype = Object.assign(new g(), {
				type: "Dimension",
				accept: function (e) {
					this.unit = e.visit(this.unit);
				},
				eval: function (e) {
					return this;
				},
				toColor: function () {
					return new f([this.value, this.value, this.value]);
				},
				genCSS: function (e, t) {
					if (e && e.strictUnits && !this.unit.isSingular())
						throw new Error(
							"Multiple units in dimension. Correct the units or use the unit function. Bad unit: " +
								this.unit.toString()
						);
					var i = this.fround(e, this.value),
						n = String(i);
					if (
						(0 !== i && i < 1e-6 && -1e-6 < i && (n = i.toFixed(20).replace(/0+$/, "")),
						e && e.compress)
					) {
						if (0 === i && this.unit.isLength()) return void t.add(n);
						0 < i && i < 1 && (n = n.substr(1));
					}
					(t.add(n), this.unit.genCSS(e, t));
				},
				operate: function (e, t, i) {
					var n = this._operate(e, t, this.value, i.value),
						r = this.unit.clone();
					if ("+" === t || "-" === t) {
						if (0 === r.numerator.length && 0 === r.denominator.length)
							((r = i.unit.clone()),
								this.unit.backupUnit && (r.backupUnit = this.unit.backupUnit));
						else if (0 !== i.unit.numerator.length || 0 !== r.denominator.length) {
							if (
								((i = i.convertTo(this.unit.usedUnits())),
								e.strictUnits && i.unit.toString() !== r.toString())
							)
								throw new Error(
									"Incompatible units. Change the units or use the unit function. Bad units: '" +
										r.toString() +
										"' and '" +
										i.unit.toString() +
										"'."
								);
							n = this._operate(e, t, this.value, i.value);
						}
					} else
						"*" === t
							? ((r.numerator = r.numerator.concat(i.unit.numerator).sort()),
								(r.denominator = r.denominator.concat(i.unit.denominator).sort()),
								r.cancel())
							: "/" === t &&
								((r.numerator = r.numerator.concat(i.unit.denominator).sort()),
								(r.denominator = r.denominator.concat(i.unit.numerator).sort()),
								r.cancel());
					return new p(n, r);
				},
				compare: function (e) {
					var t, i;
					if (e instanceof p) {
						if (this.unit.isEmpty() || e.unit.isEmpty()) ((t = this), (i = e));
						else if (
							((t = this.unify()), (i = e.unify()), 0 !== t.unit.compare(i.unit))
						)
							return;
						return g.numericCompare(t.value, i.value);
					}
				},
				unify: function () {
					return this.convertTo({ length: "px", duration: "s", angle: "rad" });
				},
				convertTo: function (e) {
					var t,
						i,
						n,
						r,
						s,
						o = this.value,
						a = this.unit.clone(),
						l = {};
					if ("string" == typeof e) {
						for (t in T) T[t].hasOwnProperty(e) && ((l = {})[t] = e);
						e = l;
					}
					for (i in ((s = function (e, t) {
						return n.hasOwnProperty(e)
							? (t ? (o /= n[e] / n[r]) : (o *= n[e] / n[r]), r)
							: e;
					}),
					e))
						e.hasOwnProperty(i) && ((r = e[i]), (n = T[i]), a.map(s));
					return (a.cancel(), new p(o, a));
				}
			})),
			r);
	s.prototype = Object.assign(new g(), {
		type: "Operation",
		accept: function (e) {
			this.operands = e.visitArray(this.operands);
		},
		eval: function (e) {
			var t,
				i = this.operands[0].eval(e),
				n = this.operands[1].eval(e);
			if (e.isMathOn(this.op)) {
				if (
					((t = "./" === this.op ? "/" : this.op),
					i instanceof p && n instanceof f && (i = i.toColor()),
					n instanceof p && i instanceof f && (n = n.toColor()),
					i.operate && n.operate)
				)
					return i.operate(e, t, n);
				if (
					(i instanceof s || n instanceof s) &&
					"/" === i.op &&
					e.math === we.PARENS_DIVISION
				)
					return new s(this.op, [i, n], this.isSpaced);
				throw { type: "Operation", message: "Operation on an invalid type" };
			}
			return new s(this.op, [i, n], this.isSpaced);
		},
		genCSS: function (e, t) {
			(this.operands[0].genCSS(e, t),
				this.isSpaced && t.add(" "),
				t.add(this.op),
				this.isSpaced && t.add(" "),
				this.operands[1].genCSS(e, t));
		}
	});
	var m = function (e, t) {
			if (((this.value = e), (this.noSpacing = t), !e))
				throw new Error("Expression requires an array parameter");
		},
		xe =
			((m.prototype = Object.assign(new g(), {
				type: "Expression",
				accept: function (e) {
					this.value = e.visitArray(this.value);
				},
				eval: function (t) {
					var e,
						i = t.isMathOn(),
						n = this.parens,
						r = !1;
					return (
						n && t.inParenthesis(),
						(e =
							1 < this.value.length
								? new m(
										this.value.map(function (e) {
											return e.eval ? e.eval(t) : e;
										}),
										this.noSpacing
									)
								: 1 === this.value.length
									? (!this.value[0].parens ||
											this.value[0].parensInOp ||
											t.inCalc ||
											(r = !0),
										this.value[0].eval(t))
									: this),
						n && t.outOfParenthesis(),
						(e =
							!this.parens || !this.parensInOp || i || r || e instanceof p
								? e
								: new P(e))
					);
				},
				genCSS: function (e, t) {
					for (var i = 0; i < this.value.length; i++)
						(this.value[i].genCSS(e, t),
							!this.noSpacing && i + 1 < this.value.length && t.add(" "));
				},
				throwAwayComments: function () {
					this.value = this.value.filter(function (e) {
						return !(e instanceof ce);
					});
				}
			})),
			(Se.prototype.isValid = function () {
				return Boolean(this.func);
			}),
			(Se.prototype.call = function (e) {
				function i(e) {
					return !("Comment" === e.type);
				}
				var t = this,
					n = (Array.isArray(e) || (e = [e]), this.func.evalArgs);
				!1 !== n &&
					(e = e.map(function (e) {
						return e.eval(t.context);
					}));
				return (
					(e = e.filter(i).map(function (e) {
						var t;
						return "Expression" === e.type
							? 1 === (t = e.value.filter(i)).length
								? e.parens && "/" === t[0].op
									? e
									: t[0]
								: new m(t)
							: e;
					})),
					!1 === n
						? this.func.apply(
								this,
								(function (e, t, i) {
									if (i || 2 === arguments.length)
										for (var n, r = 0, s = t.length; r < s; r++)
											(!n && r in t) ||
												((n = n || Array.prototype.slice.call(t, 0, r))[r] =
													t[r]);
									return e.concat(n || t);
								})([this.context], e)
							)
						: this.func.apply(this, e)
				);
			}),
			Se);
	function Se(e, t, i, n) {
		((this.name = e.toLowerCase()),
			(this.index = i),
			(this.context = t),
			(this.currentFileInfo = n),
			(this.func = t.frames[0].functionRegistry.get(this.name)));
	}
	function Ie(e, t, i, n) {
		((this.name = e),
			(this.args = t),
			(this.calc = "calc" === e),
			(this._index = i),
			(this._fileInfo = n));
	}
	function a(e, t, i) {
		((this.name = e), (this._index = t), (this._fileInfo = i));
	}
	function Ce(e, t, i) {
		((this.name = e), (this._index = t), (this._fileInfo = i));
	}
	function ke(e, t, i, n) {
		((this.key = e), (this.op = t), (this.value = i), (this.cif = n));
	}
	((Ie.prototype = Object.assign(new g(), {
		type: "Call",
		accept: function (e) {
			this.args && (this.args = e.visitArray(this.args));
		},
		eval: function (t) {
			function e() {
				((n.calc || t.inCalc) && t.exitCalc(), (t.mathOn = r));
			}
			var i,
				n = this,
				r = t.mathOn,
				s =
					((t.mathOn = !this.calc),
					(this.calc || t.inCalc) && t.enterCalc(),
					new xe(this.name, t, this.getIndex(), this.fileInfo()));
			if (s.isValid())
				try {
					((i = s.call(this.args)), e());
				} catch (e) {
					if (e.hasOwnProperty("line") && e.hasOwnProperty("column")) throw e;
					throw {
						type: e.type || "Runtime",
						message:
							"Error evaluating function `" +
							this.name +
							"`" +
							(e.message ? ": " + e.message : ""),
						index: this.getIndex(),
						filename: this.fileInfo().filename,
						line: e.lineNumber,
						column: e.columnNumber
					};
				}
			return null != i
				? (((i = i instanceof g ? i : new h(i && !0 !== i ? i.toString() : null))._index =
						this._index),
					(i._fileInfo = this._fileInfo),
					i)
				: ((s = this.args.map(function (e) {
						return e.eval(t);
					})),
					e(),
					new Ie(this.name, s, this.getIndex(), this.fileInfo()));
		},
		genCSS: function (e, t) {
			t.add(this.name + "(", this.fileInfo(), this.getIndex());
			for (var i = 0; i < this.args.length; i++)
				(this.args[i].genCSS(e, t), i + 1 < this.args.length && t.add(", "));
			t.add(")");
		}
	})),
		(a.prototype = Object.assign(new g(), {
			type: "Variable",
			eval: function (t) {
				var e,
					i = this.name;
				if (
					(0 === i.indexOf("@@") &&
						(i =
							"@" +
							new a(i.slice(1), this.getIndex(), this.fileInfo()).eval(t).value),
					this.evaluating)
				)
					throw {
						type: "Name",
						message: "Recursive variable definition for " + i,
						filename: this.fileInfo().filename,
						index: this.getIndex()
					};
				if (
					((this.evaluating = !0),
					(e = this.find(t.frames, function (e) {
						e = e.variable(i);
						if (e)
							return (
								e.important &&
									(t.importantScope[t.importantScope.length - 1].important =
										e.important),
								(t.inCalc ? new Ie("_SELF", [e.value]) : e.value).eval(t)
							);
					})))
				)
					return ((this.evaluating = !1), e);
				throw {
					type: "Name",
					message: "variable " + i + " is undefined",
					filename: this.fileInfo().filename,
					index: this.getIndex()
				};
			},
			find: function (e, t) {
				for (var i, n = 0; n < e.length; n++) if ((i = t.call(e, e[n]))) return i;
				return null;
			}
		})),
		(Ce.prototype = Object.assign(new g(), {
			type: "Property",
			eval: function (r) {
				var e,
					s = this.name,
					o = r.pluginManager.less.visitors.ToCSSVisitor.prototype._mergeRules;
				if (this.evaluating)
					throw {
						type: "Name",
						message: "Recursive property reference for " + s,
						filename: this.fileInfo().filename,
						index: this.getIndex()
					};
				if (
					((this.evaluating = !0),
					(e = this.find(r.frames, function (e) {
						var t,
							i = e.property(s);
						if (i) {
							for (var n = 0; n < i.length; n++)
								((t = i[n]),
									(i[n] = new b(
										t.name,
										t.value,
										t.important,
										t.merge,
										t.index,
										t.currentFileInfo,
										t.inline,
										t.variable
									)));
							return (
								o(i),
								(t = i[i.length - 1]).important &&
									(r.importantScope[r.importantScope.length - 1].important =
										t.important),
								(t = t.value.eval(r))
							);
						}
					})))
				)
					return ((this.evaluating = !1), e);
				throw {
					type: "Name",
					message: "Property '" + s + "' is undefined",
					filename: this.currentFileInfo.filename,
					index: this.index
				};
			},
			find: function (e, t) {
				for (var i, n = 0; n < e.length; n++) if ((i = t.call(e, e[n]))) return i;
				return null;
			}
		})));
	ke.prototype = Object.assign(new g(), {
		type: "Attribute",
		eval: function (e) {
			return new ke(
				this.key.eval ? this.key.eval(e) : this.key,
				this.op,
				this.value && this.value.eval ? this.value.eval(e) : this.value,
				this.cif
			);
		},
		genCSS: function (e, t) {
			t.add(this.toCSS(e));
		},
		toCSS: function (e) {
			var t = this.key.toCSS ? this.key.toCSS(e) : this.key;
			return (
				this.op &&
					(t = (t += this.op) + (this.value.toCSS ? this.value.toCSS(e) : this.value)),
				"[" + (t = this.cif ? t + " " + this.cif : t) + "]"
			);
		}
	});
	var d = function (e, t, i, n, r) {
		((this.escaped = null == i || i),
			(this.value = t || ""),
			(this.quote = e.charAt(0)),
			(this._index = n),
			(this._fileInfo = r),
			(this.variableRegex = /@\{([\w-]+)\}/g),
			(this.propRegex = /\$\{([\w-]+)\}/g),
			(this.allowRoot = i));
	};
	d.prototype = Object.assign(new g(), {
		type: "Quoted",
		genCSS: function (e, t) {
			(this.escaped || t.add(this.quote, this.fileInfo(), this.getIndex()),
				t.add(this.value),
				this.escaped || t.add(this.quote));
		},
		containsVariables: function () {
			return this.value.match(this.variableRegex);
		},
		eval: function (i) {
			var e,
				n = this;
			function t(e, t, i) {
				for (var n = e; (n = (e = n.toString()).replace(t, i)), e !== n; );
				return n;
			}
			return (
				(e = t(this.value, this.variableRegex, function (e, t) {
					t = new a("@" + t, n.getIndex(), n.fileInfo()).eval(i, !0);
					return t instanceof d ? t.value : t.toCSS();
				})),
				(e = t(e, this.propRegex, function (e, t) {
					t = new Ce("$" + t, n.getIndex(), n.fileInfo()).eval(i, !0);
					return t instanceof d ? t.value : t.toCSS();
				})),
				new d(
					this.quote + e + this.quote,
					e,
					this.escaped,
					this.getIndex(),
					this.fileInfo()
				)
			);
		},
		compare: function (e) {
			return "Quoted" !== e.type || this.escaped || e.escaped
				? e.toCSS && this.toCSS() === e.toCSS()
					? 0
					: void 0
				: g.numericCompare(this.value, e.value);
		}
	});
	function _e(e, t, i, n, r) {
		((this._index = i),
			(this._fileInfo = n),
			(i = new R([], null, null, this._index, this._fileInfo).createEmptySelectors()),
			(this.features = new l(t)),
			(this.rules = [new w(i, e)]),
			(this.rules[0].allowImports = !0),
			this.copyVisibilityInfo(r),
			(this.allowRoot = !0),
			this.setParent(i, this),
			this.setParent(this.features, this),
			this.setParent(this.rules, this));
	}
	function Ae(e, t, i, n, r, s) {
		((this.options = i),
			(this._index = n),
			(this._fileInfo = r),
			(this.path = e),
			(this.features = t),
			(this.allowRoot = !0),
			void 0 !== this.options.less || this.options.inline
				? (this.css = !this.options.less || this.options.inline)
				: (i = this.getPath()) && /[#\.\&\?]css([\?;].*)?$/.test(i) && (this.css = !0),
			this.copyVisibilityInfo(s),
			this.setParent(this.features, this),
			this.setParent(this.path, this));
	}
	function Me() {}
	function Pe(e, t, i, n) {
		((this.escaped = t), (this.expression = e), (this._index = i), (this._fileInfo = n));
	}
	function Ee(e, t) {
		((this.key = e), (this.value = t));
	}
	function Re(e, t, i, n, r) {
		((this.op = e.trim()),
			(this.lvalue = t),
			(this.rvalue = i),
			(this._index = n),
			(this.negate = r));
	}
	function Oe(e) {
		this.value = e;
	}
	function Fe(e) {
		this.value = e;
	}
	function Ve(e, t, i, n, r) {
		((this.selector = e),
			(this.option = t),
			(this.object_id = Ve.next_id++),
			(this.parent_ids = [this.object_id]),
			(this._index = i),
			(this._fileInfo = n),
			this.copyVisibilityInfo(r),
			(this.allowRoot = !0),
			"all" === t
				? ((this.allowBefore = !0), (this.allowAfter = !0))
				: ((this.allowBefore = !1), (this.allowAfter = !1)),
			this.setParent(this.selector, this));
	}
	function $e(e, t, i) {
		((this.variable = e), (this._index = t), (this._fileInfo = i), (this.allowRoot = !0));
	}
	function Le(e, t, i, n) {
		((this.value = e), (this.lookups = t), (this._index = i), (this._fileInfo = n));
	}
	function je(e, t, i, n, r, s, o) {
		((this.name = e || "anonymous mixin"),
			(this.selectors = [new R([new E(null, e, !1, this._index, this._fileInfo)])]),
			(this.params = t),
			(this.condition = n),
			(this.variadic = r),
			(this.arity = t.length),
			(this.rules = i),
			(this._lookups = {}));
		var a = [];
		((this.required = t.reduce(function (e, t) {
			return t.name && (t.name, t.value) ? (a.push(t.name), e) : e + 1;
		}, 0)),
			(this.optionalParameters = a),
			(this.frames = s),
			this.copyVisibilityInfo(o),
			(this.allowRoot = !0));
	}
	function Ne(e, t, i, n, r) {
		((this.selector = new R(e)),
			(this.arguments = t || []),
			(this._index = i),
			(this._fileInfo = n),
			(this.important = r),
			(this.allowRoot = !0),
			this.setParent(this.selector, this));
	}
	var v = function (e, t, i, n) {
			((this.value = e), (this._index = t), (this._fileInfo = i), (this.isEvald = n));
		},
		k =
			((v.prototype = Object.assign(new g(), {
				type: "Url",
				accept: function (e) {
					this.value = e.visit(this.value);
				},
				genCSS: function (e, t) {
					(t.add("url("), this.value.genCSS(e, t), t.add(")"));
				},
				eval: function (e) {
					var t,
						i = this.value.eval(e);
					return (
						this.isEvald ||
							("string" == typeof (t = this.fileInfo() && this.fileInfo().rootpath) &&
							"string" == typeof i.value &&
							e.pathRequiresRewrite(i.value)
								? (i.quote ||
										(t = t.replace(/[\(\)'"\s]/g, function (e) {
											return "\\" + e;
										})),
									(i.value = e.rewritePath(i.value, t)))
								: (i.value = e.normalizePath(i.value)),
							e.urlArgs &&
								!i.value.match(/^\s*data:/) &&
								((t = (-1 === i.value.indexOf("?") ? "?" : "&") + e.urlArgs),
								-1 !== i.value.indexOf("#")
									? (i.value = i.value.replace("#", t + "#"))
									: (i.value += t))),
						new v(i, this.getIndex(), this.fileInfo(), !0)
					);
				}
			})),
			(_e.prototype = Object.assign(new ve(), {
				type: "Media",
				isRulesetLike: function () {
					return !0;
				},
				accept: function (e) {
					(this.features && (this.features = e.visit(this.features)),
						this.rules && (this.rules = e.visitArray(this.rules)));
				},
				genCSS: function (e, t) {
					(t.add("@media ", this._fileInfo, this._index),
						this.features.genCSS(e, t),
						this.outputRuleset(e, t, this.rules));
				},
				eval: function (e) {
					e.mediaBlocks || ((e.mediaBlocks = []), (e.mediaPath = []));
					var t = new _e(null, [], this._index, this._fileInfo, this.visibilityInfo());
					return (
						this.debugInfo &&
							((this.rules[0].debugInfo = this.debugInfo),
							(t.debugInfo = this.debugInfo)),
						(t.features = this.features.eval(e)),
						e.mediaPath.push(t),
						e.mediaBlocks.push(t),
						(this.rules[0].functionRegistry = e.frames[0].functionRegistry.inherit()),
						e.frames.unshift(this.rules[0]),
						(t.rules = [this.rules[0].eval(e)]),
						e.frames.shift(),
						e.mediaPath.pop(),
						0 === e.mediaPath.length ? t.evalTop(e) : t.evalNested(e)
					);
				},
				evalTop: function (e) {
					var t,
						i = this;
					return (
						1 < e.mediaBlocks.length &&
							((t = new R(
								[],
								null,
								null,
								this.getIndex(),
								this.fileInfo()
							).createEmptySelectors()),
							((i = new w(t, e.mediaBlocks)).multiMedia = !0),
							i.copyVisibilityInfo(this.visibilityInfo()),
							this.setParent(i, this)),
						delete e.mediaBlocks,
						delete e.mediaPath,
						i
					);
				},
				evalNested: function (e) {
					for (var t, i = e.mediaPath.concat([this]), n = 0; n < i.length; n++)
						((t = i[n].features instanceof l ? i[n].features.value : i[n].features),
							(i[n] = Array.isArray(t) ? t : [t]));
					return (
						(this.features = new l(
							this.permute(i).map(function (e) {
								for (
									e = e.map(function (e) {
										return e.toCSS ? e : new h(e);
									}),
										n = e.length - 1;
									0 < n;
									n--
								)
									e.splice(n, 0, new h("and"));
								return new m(e);
							})
						)),
						this.setParent(this.features, this),
						new w([], [])
					);
				},
				permute: function (e) {
					if (0 === e.length) return [];
					if (1 === e.length) return e[0];
					for (var t = [], i = this.permute(e.slice(1)), n = 0; n < i.length; n++)
						for (var r = 0; r < e[0].length; r++) t.push([e[0][r]].concat(i[n]));
					return t;
				},
				bubbleSelectors: function (e) {
					e &&
						((this.rules = [new w(y(e), [this.rules[0]])]),
						this.setParent(this.rules, this));
				}
			})),
			(Ae.prototype = Object.assign(new g(), {
				type: "Import",
				accept: function (e) {
					(this.features && (this.features = e.visit(this.features)),
						(this.path = e.visit(this.path)),
						this.options.isPlugin ||
							this.options.inline ||
							!this.root ||
							(this.root = e.visit(this.root)));
				},
				genCSS: function (e, t) {
					this.css &&
						void 0 === this.path._fileInfo.reference &&
						(t.add("@import ", this._fileInfo, this._index),
						this.path.genCSS(e, t),
						this.features && (t.add(" "), this.features.genCSS(e, t)),
						t.add(";"));
				},
				getPath: function () {
					return (this.path instanceof v ? this.path.value : this.path).value;
				},
				isVariableImport: function () {
					var e = this.path;
					return (
						!((e = e instanceof v ? e.value : e) instanceof d) || e.containsVariables()
					);
				},
				evalForImport: function (e) {
					var t = this.path;
					return (
						t instanceof v && (t = t.value),
						new Ae(
							t.eval(e),
							this.features,
							this.options,
							this._index,
							this._fileInfo,
							this.visibilityInfo()
						)
					);
				},
				evalPath: function (e) {
					var t,
						i = this.path.eval(e),
						n = this._fileInfo;
					return (
						i instanceof v ||
							((t = i.value),
							n && t && e.pathRequiresRewrite(t)
								? (i.value = e.rewritePath(t, n.rootpath))
								: (i.value = e.normalizePath(i.value))),
						i
					);
				},
				eval: function (e) {
					e = this.doEval(e);
					return (
						(this.options.reference || this.blocksVisibility()) &&
							(e.length || 0 === e.length
								? e.forEach(function (e) {
										e.addVisibilityBlock();
									})
								: e.addVisibilityBlock()),
						e
					);
				},
				doEval: function (e) {
					var t = this.features && this.features.eval(e);
					if (this.options.isPlugin) {
						if (this.root && this.root.eval)
							try {
								this.root.eval(e);
							} catch (e) {
								throw (
									(e.message = "Plugin error during evaluation"),
									new I(e, this.root.imports, this.root.filename)
								);
							}
						return (
							(i = e.frames[0] && e.frames[0].functionRegistry) &&
								this.root &&
								this.root.functions &&
								i.addMultiple(this.root.functions),
							[]
						);
					}
					if (
						this.skip &&
						("function" == typeof this.skip && (this.skip = this.skip()), this.skip)
					)
						return [];
					if (this.options.inline)
						return (
							(i = new h(
								this.root,
								0,
								{
									filename: this.importedFilename,
									reference: this.path._fileInfo && this.path._fileInfo.reference
								},
								!0,
								!0
							)),
							this.features ? new _e([i], this.features.value) : [i]
						);
					if (this.css) {
						var i = new Ae(this.evalPath(e), t, this.options, this._index);
						if (!i.css && this.error) throw this.error;
						return i;
					}
					return this.root
						? ((t = new w(null, y(this.root.rules))).evalImports(e),
							this.features ? new _e(t.rules, this.features.value) : t.rules)
						: [];
				}
			})),
			(Me.prototype = Object.assign(new g(), {
				evaluateJavaScript: function (t, i) {
					var e,
						n = this,
						r = {};
					if (!i.javascriptEnabled)
						throw {
							message: "Inline JavaScript is not enabled. Is it set in your options?",
							filename: this.fileInfo().filename,
							index: this.getIndex()
						};
					t = t.replace(/@\{([\w-]+)\}/g, function (e, t) {
						return n.jsify(new a("@" + t, n.getIndex(), n.fileInfo()).eval(i));
					});
					try {
						t = new Function("return (" + t + ")");
					} catch (e) {
						throw {
							message:
								"JavaScript evaluation error: " + e.message + " from `" + t + "`",
							filename: this.fileInfo().filename,
							index: this.getIndex()
						};
					}
					var s,
						o = i.frames[0].variables();
					for (s in o)
						o.hasOwnProperty(s) &&
							(r[s.slice(1)] = {
								value: o[s].value,
								toJS: function () {
									return this.value.eval(i).toCSS();
								}
							});
					try {
						e = t.call(r);
					} catch (e) {
						throw {
							message:
								"JavaScript evaluation error: '" +
								e.name +
								": " +
								e.message.replace(/["]/g, "'") +
								"'",
							filename: this.fileInfo().filename,
							index: this.getIndex()
						};
					}
					return e;
				},
				jsify: function (e) {
					return Array.isArray(e.value) && 1 < e.value.length
						? "[" +
								e.value
									.map(function (e) {
										return e.toCSS();
									})
									.join(", ") +
								"]"
						: e.toCSS();
				}
			})),
			(Pe.prototype = Object.assign(new Me(), {
				type: "JavaScript",
				eval: function (e) {
					var e = this.evaluateJavaScript(this.expression, e),
						t = typeof e;
					return "number" != t || isNaN(e)
						? "string" == t
							? new d('"' + e + '"', e, this.escaped, this._index)
							: Array.isArray(e)
								? new h(e.join(", "))
								: new h(e)
						: new p(e);
				}
			})),
			(Ee.prototype = Object.assign(new g(), {
				type: "Assignment",
				accept: function (e) {
					this.value = e.visit(this.value);
				},
				eval: function (e) {
					return this.value.eval ? new Ee(this.key, this.value.eval(e)) : this;
				},
				genCSS: function (e, t) {
					(t.add(this.key + "="),
						this.value.genCSS ? this.value.genCSS(e, t) : t.add(this.value));
				}
			})),
			(Re.prototype = Object.assign(new g(), {
				type: "Condition",
				accept: function (e) {
					((this.lvalue = e.visit(this.lvalue)), (this.rvalue = e.visit(this.rvalue)));
				},
				eval: function (e) {
					e = ((e, t, i) => {
						switch (e) {
							case "and":
								return t && i;
							case "or":
								return t || i;
							default:
								switch (g.compare(t, i)) {
									case -1:
										return "<" === e || "=<" === e || "<=" === e;
									case 0:
										return "=" === e || ">=" === e || "=<" === e || "<=" === e;
									case 1:
										return ">" === e || ">=" === e;
									default:
										return !1;
								}
						}
					})(this.op, this.lvalue.eval(e), this.rvalue.eval(e));
					return this.negate ? !e : e;
				}
			})),
			(Oe.prototype = Object.assign(new g(), { type: "UnicodeDescriptor" })),
			(Fe.prototype = Object.assign(new g(), {
				type: "Negative",
				genCSS: function (e, t) {
					(t.add("-"), this.value.genCSS(e, t));
				},
				eval: function (e) {
					return e.isMathOn()
						? new s("*", [new p(-1), this.value]).eval(e)
						: new Fe(this.value.eval(e));
				}
			})),
			(Ve.prototype = Object.assign(new g(), {
				type: "Extend",
				accept: function (e) {
					this.selector = e.visit(this.selector);
				},
				eval: function (e) {
					return new Ve(
						this.selector.eval(e),
						this.option,
						this.getIndex(),
						this.fileInfo(),
						this.visibilityInfo()
					);
				},
				clone: function (e) {
					return new Ve(
						this.selector,
						this.option,
						this.getIndex(),
						this.fileInfo(),
						this.visibilityInfo()
					);
				},
				findSelfSelectors: function (e) {
					for (var t, i = [], n = 0; n < e.length; n++)
						((t = e[n].elements),
							0 < n &&
								t.length &&
								"" === t[0].combinator.value &&
								(t[0].combinator.value = " "),
							(i = i.concat(e[n].elements)));
					((this.selfSelectors = [new R(i)]),
						this.selfSelectors[0].copyVisibilityInfo(this.visibilityInfo()));
				}
			})),
			(Ve.next_id = 0),
			($e.prototype = Object.assign(new g(), {
				type: "VariableCall",
				eval: function (e) {
					var t,
						i = new a(this.variable, this.getIndex(), this.fileInfo()).eval(e),
						n = new I({ message: "Could not evaluate variable call " + this.variable });
					if (!i.ruleset) {
						if (i.rules) t = i;
						else if (Array.isArray(i)) t = new w("", i);
						else {
							if (!Array.isArray(i.value)) throw n;
							t = new w("", i.value);
						}
						i = new ge(t);
					}
					if (i.ruleset) return i.callEval(e);
					throw n;
				}
			})),
			(Le.prototype = Object.assign(new g(), {
				type: "NamespaceValue",
				eval: function (e) {
					for (var t, i = this.value.eval(e), n = 0; n < this.lookups.length; n++) {
						if (
							((t = this.lookups[n]),
							Array.isArray(i) && (i = new w([new R()], i)),
							"" === t)
						)
							i = i.lastDeclaration();
						else if ("@" === t.charAt(0)) {
							if (
								("@" === t.charAt(1) &&
									(t = "@" + new a(t.substr(1)).eval(e).value),
								!(i = i.variables ? i.variable(t) : i))
							)
								throw {
									type: "Name",
									message: "variable " + t + " not found",
									filename: this.fileInfo().filename,
									index: this.getIndex()
								};
						} else {
							if (
								((t =
									"$@" === t.substring(0, 2)
										? "$" + new a(t.substr(1)).eval(e).value
										: "$" === t.charAt(0)
											? t
											: "$" + t),
								!(i = i.properties ? i.property(t) : i))
							)
								throw {
									type: "Name",
									message: 'property "' + t.substr(1) + '" not found',
									filename: this.fileInfo().filename,
									index: this.getIndex()
								};
							i = i[i.length - 1];
						}
						(i = i.value ? i.eval(e).value : i).ruleset && (i = i.ruleset.eval(e));
					}
					return i;
				}
			})),
			(je.prototype = Object.assign(new w(), {
				type: "MixinDefinition",
				evalFirst: !0,
				accept: function (e) {
					(this.params && this.params.length && (this.params = e.visitArray(this.params)),
						(this.rules = e.visitArray(this.rules)),
						this.condition && (this.condition = e.visit(this.condition)));
				},
				evalParams: function (e, t, i, n) {
					var r,
						s,
						o,
						a,
						l,
						u,
						c,
						h,
						f = new w(null, null),
						p = y(this.params),
						d = 0;
					if (
						(t.frames &&
							t.frames[0] &&
							t.frames[0].functionRegistry &&
							(f.functionRegistry = t.frames[0].functionRegistry.inherit()),
						(t = new C.Eval(t, [f].concat(t.frames))),
						i)
					)
						for (d = (i = y(i)).length, o = 0; o < d; o++)
							if ((u = (s = i[o]) && s.name)) {
								for (c = !1, a = 0; a < p.length; a++)
									if (!n[a] && u === p[a].name) {
										((n[a] = s.value.eval(e)),
											f.prependRule(new b(u, s.value.eval(e))),
											(c = !0));
										break;
									}
								if (!c)
									throw {
										type: "Runtime",
										message:
											"Named argument for " +
											this.name +
											" " +
											i[o].name +
											" not found"
									};
								(i.splice(o, 1), o--);
							}
					for (o = h = 0; o < p.length; o++)
						if (!n[o]) {
							if (((s = i && i[h]), (u = p[o].name)))
								if (p[o].variadic) {
									for (r = [], a = h; a < d; a++) r.push(i[a].value.eval(e));
									f.prependRule(new b(u, new m(r).eval(e)));
								} else {
									if ((l = s && s.value))
										l = Array.isArray(l) ? new ge(new w("", l)) : l.eval(e);
									else {
										if (!p[o].value)
											throw {
												type: "Runtime",
												message:
													"wrong number of arguments for " +
													this.name +
													" (" +
													d +
													" for " +
													this.arity +
													")"
											};
										((l = p[o].value.eval(t)), f.resetCache());
									}
									(f.prependRule(new b(u, l)), (n[o] = l));
								}
							if (p[o].variadic && i)
								for (a = h; a < d; a++) n[a] = i[a].value.eval(e);
							h++;
						}
					return f;
				},
				makeImportant: function () {
					var e =
						this.rules &&
						this.rules.map(function (e) {
							return e.makeImportant ? e.makeImportant(!0) : e;
						});
					return new je(
						this.name,
						this.params,
						e,
						this.condition,
						this.variadic,
						this.frames
					);
				},
				eval: function (e) {
					return new je(
						this.name,
						this.params,
						this.rules,
						this.condition,
						this.variadic,
						this.frames || y(e.frames)
					);
				},
				evalCall: function (e, t, i) {
					var n = [],
						r = this.frames ? this.frames.concat(e.frames) : e.frames,
						t = this.evalParams(e, new C.Eval(e, r), t, n);
					return (
						t.prependRule(new b("@arguments", new m(n).eval(e))),
						(n = y(this.rules)),
						((n = new w(null, n)).originalRuleset = this),
						(n = n.eval(new C.Eval(e, [this, t].concat(r)))),
						(n = i ? n.makeImportant() : n)
					);
				},
				matchCondition: function (e, t) {
					return !(
						this.condition &&
						!this.condition.eval(
							new C.Eval(
								t,
								[
									this.evalParams(
										t,
										new C.Eval(
											t,
											this.frames ? this.frames.concat(t.frames) : t.frames
										),
										e,
										[]
									)
								]
									.concat(this.frames || [])
									.concat(t.frames)
							)
						)
					);
				},
				matchArgs: function (e, t) {
					var i = (e && e.length) || 0,
						n = this.optionalParameters,
						r = e
							? e.reduce(function (e, t) {
									return n.indexOf(t.name) < 0 ? e + 1 : e;
								}, 0)
							: 0;
					if (this.variadic) {
						if (r < this.required - 1) return !1;
					} else {
						if (r < this.required) return !1;
						if (i > this.params.length) return !1;
					}
					for (var s = Math.min(r, this.arity), o = 0; o < s; o++)
						if (
							!this.params[o].name &&
							!this.params[o].variadic &&
							e[o].value.eval(t).toCSS() != this.params[o].value.eval(t).toCSS()
						)
							return !1;
					return !0;
				}
			})),
			(Ne.prototype = Object.assign(new g(), {
				type: "MixinCall",
				accept: function (e) {
					(this.selector && (this.selector = e.visit(this.selector)),
						this.arguments.length && (this.arguments = e.visitArray(this.arguments)));
				},
				eval: function (s) {
					var e,
						t,
						i,
						n,
						r,
						o,
						a,
						l,
						u,
						c,
						h,
						f,
						p,
						d,
						m,
						v = [],
						g = [],
						y = !1,
						b = [],
						w = [],
						x = -1,
						S = 0,
						I = 1,
						C = 2;
					for (
						this.selector = this.selector.eval(s), o = 0;
						o < this.arguments.length;
						o++
					)
						if (
							((r = (n = this.arguments[o]).value.eval(s)),
							n.expand && Array.isArray(r.value))
						)
							for (r = r.value, a = 0; a < r.length; a++) v.push({ value: r[a] });
						else v.push({ name: n.name, value: r });
					for (
						m = function (e) {
							return e.matchArgs(null, s);
						},
							o = 0;
						o < s.frames.length;
						o++
					)
						if (0 < (e = s.frames[o].find(this.selector, null, m)).length) {
							for (c = !0, a = 0; a < e.length; a++) {
								for (
									t = e[a].rule, i = e[a].path, u = !1, l = 0;
									l < s.frames.length;
									l++
								)
									if (
										!(t instanceof je) &&
										t === (s.frames[l].originalRuleset || s.frames[l])
									) {
										u = !0;
										break;
									}
								u ||
									(t.matchArgs(v, s) &&
										((h = {
											mixin: t,
											group: ((e, t) => {
												for (var i, n, r = 0; r < 2; r++) {
													for (
														w[r] = !0, be.value(r), i = 0;
														i < t.length && w[r];
														i++
													)
														(n = t[i]).matchCondition &&
															(w[r] =
																w[r] && n.matchCondition(null, s));
													e.matchCondition &&
														(w[r] = w[r] && e.matchCondition(v, s));
												}
												return w[0] || w[1]
													? w[0] != w[1]
														? w[1]
															? I
															: C
														: S
													: x;
											})(t, i)
										}).group !== x && b.push(h),
										(y = !0)));
							}
							for (be.reset(), p = [0, 0, 0], a = 0; a < b.length; a++)
								p[b[a].group]++;
							if (0 < p[S]) f = C;
							else if (1 < p[(f = I)] + p[C])
								throw {
									type: "Runtime",
									message:
										"Ambiguous use of `default()` found when matching for `" +
										this.format(v) +
										"`",
									index: this.getIndex(),
									filename: this.fileInfo().filename
								};
							for (a = 0; a < b.length; a++)
								if ((h = b[a].group) === S || h === f)
									try {
										(t = b[a].mixin) instanceof je ||
											((d = t.originalRuleset || t),
											((t = new je(
												"",
												[],
												t.rules,
												null,
												!1,
												null,
												d.visibilityInfo()
											)).originalRuleset = d));
										var k = t.evalCall(s, v, this.important).rules;
										(this._setVisibilityToReplacement(k),
											Array.prototype.push.apply(g, k));
									} catch (e) {
										throw {
											message: e.message,
											index: this.getIndex(),
											filename: this.fileInfo().filename,
											stack: e.stack
										};
									}
							if (y) return g;
						}
					throw c
						? {
								type: "Runtime",
								message:
									"No matching definition was found for `" + this.format(v) + "`",
								index: this.getIndex(),
								filename: this.fileInfo().filename
							}
						: {
								type: "Name",
								message: this.selector.toCSS().trim() + " is undefined",
								index: this.getIndex(),
								filename: this.fileInfo().filename
							};
				},
				_setVisibilityToReplacement: function (e) {
					var t;
					if (this.blocksVisibility())
						for (t = 0; t < e.length; t++) e[t].addVisibilityBlock();
				},
				format: function (e) {
					return (
						this.selector.toCSS().trim() +
						"(" +
						(e
							? e
									.map(function (e) {
										var t = "";
										return (
											e.name && (t += e.name + ":"),
											e.value.toCSS ? (t += e.value.toCSS()) : (t += "???"),
											t
										);
									})
									.join(", ")
							: "") +
						")"
					);
				}
			})),
			{
				Node: g,
				Color: f,
				AtRule: ve,
				DetachedRuleset: ge,
				Operation: s,
				Dimension: p,
				Unit: ye,
				Keyword: u,
				Variable: a,
				Property: Ce,
				Ruleset: w,
				Element: E,
				Attribute: ke,
				Combinator: J,
				Selector: R,
				Quoted: d,
				Expression: m,
				Declaration: b,
				Call: Ie,
				URL: v,
				Import: Ae,
				Comment: ce,
				Anonymous: h,
				Value: l,
				JavaScript: Pe,
				Assignment: Ee,
				Condition: Re,
				Paren: P,
				Media: _e,
				UnicodeDescriptor: Oe,
				Negative: Fe,
				Extend: Ve,
				VariableCall: $e,
				NamespaceValue: Le,
				mixin: { Call: Ne, Definition: je }
			}),
		De =
			((e.prototype.getPath = function (e) {
				var t = e.lastIndexOf("?");
				return (t =
					(t = (e = 0 < t ? e.slice(0, t) : e).lastIndexOf("/")) < 0
						? e.lastIndexOf("\\")
						: t) < 0
					? ""
					: e.slice(0, t + 1);
			}),
			(e.prototype.tryAppendExtension = function (e, t) {
				return /(\.[a-z]*$)|([\?;].*)$/.test(e) ? e : e + t;
			}),
			(e.prototype.tryAppendLessExtension = function (e) {
				return this.tryAppendExtension(e, ".less");
			}),
			(e.prototype.supportsSync = function () {
				return !1;
			}),
			(e.prototype.alwaysMakePathsAbsolute = function () {
				return !1;
			}),
			(e.prototype.isPathAbsolute = function (e) {
				return /^(?:[a-z-]+:|\/|\\|#)/i.test(e);
			}),
			(e.prototype.join = function (e, t) {
				return e ? e + t : t;
			}),
			(e.prototype.pathDiff = function (e, t) {
				var i,
					n,
					r,
					s,
					o = this.extractUrlParts(e),
					a = this.extractUrlParts(t),
					l = "";
				if (o.hostPart !== a.hostPart) return "";
				for (
					n = Math.max(a.directories.length, o.directories.length), i = 0;
					i < n && a.directories[i] === o.directories[i];
					i++
				);
				for (
					s = a.directories.slice(i), r = o.directories.slice(i), i = 0;
					i < s.length - 1;
					i++
				)
					l += "../";
				for (i = 0; i < r.length - 1; i++) l += r[i] + "/";
				return l;
			}),
			(e.prototype.extractUrlParts = function (e, t) {
				var i,
					n =
						/^((?:[a-z-]+:)?\/{2}(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/i,
					r = e.match(n),
					s = {},
					o = [],
					a = [];
				if (!r) throw new Error("Could not parse sheet href - '" + e + "'");
				if (t && (!r[1] || r[2])) {
					if (!(e = t.match(n)))
						throw new Error("Could not parse page url - '" + t + "'");
					((r[1] = r[1] || e[1] || ""), r[2] || (r[3] = e[3] + r[3]));
				}
				if (r[3])
					for (o = r[3].replace(/\\/g, "/").split("/"), i = 0; i < o.length; i++)
						".." === o[i] ? a.pop() : "." !== o[i] && a.push(o[i]);
				return (
					(s.hostPart = r[1]),
					(s.directories = a),
					(s.rawPath = (r[1] || "") + o.join("/")),
					(s.path = (r[1] || "") + a.join("/")),
					(s.filename = r[4]),
					(s.fileUrl = s.path + (r[4] || "")),
					(s.url = s.fileUrl + (r[5] || "")),
					s
				);
			}),
			e);
	function e() {}
	((Ue.prototype.evalPlugin = function (e, t, i, n, r) {
		var s,
			o,
			a,
			t = t.pluginManager,
			l =
				(r && (o = "string" == typeof r ? r : r.filename),
				new this.less.FileManager().extractUrlParts(o).filename);
		if (o && (s = t.get(o))) {
			if ((a = this.trySetOptions(s, o, l, n))) return a;
			try {
				s.use && s.use.call(this.context, s);
			} catch (e) {
				return ((e.message = e.message || "Error during @plugin call"), new I(e, i, o));
			}
		} else {
			var u = { exports: {}, pluginManager: t, fileInfo: r },
				c = x.create();
			try {
				new Function(
					"module",
					"require",
					"registerPlugin",
					"functions",
					"tree",
					"less",
					"fileInfo",
					e
				)(
					u,
					this.require(o),
					function (e) {
						s = e;
					},
					c,
					this.less.tree,
					this.less,
					r
				);
			} catch (e) {
				return new I(e, i, o);
			}
			if (((s = s || u.exports), !((s = this.validatePlugin(s, o, l)) instanceof I))) {
				if (!s) return new I({ message: "Not a valid plugin" }, i, o);
				if (
					((s.imports = i),
					(s.filename = o),
					(!s.minVersion || this.compareVersion("3.0.0", s.minVersion) < 0) &&
						(a = this.trySetOptions(s, o, l, n)))
				)
					return a;
				if (
					(t.addPlugin(s, r.filename, c),
					(s.functions = c.getLocalFunctions()),
					(a = this.trySetOptions(s, o, l, n)))
				)
					return a;
				try {
					s.use && s.use.call(this.context, s);
				} catch (e) {
					return ((e.message = e.message || "Error during @plugin call"), new I(e, i, o));
				}
			}
		}
		return s;
	}),
		(Ue.prototype.trySetOptions = function (e, t, i, n) {
			if (n && !e.setOptions)
				return new I({
					message:
						"Options have been provided but the plugin " +
						i +
						" does not support any options."
				});
			try {
				e.setOptions && e.setOptions(n);
			} catch (e) {
				return new I(e);
			}
		}),
		(Ue.prototype.validatePlugin = function (e, t, i) {
			return e
				? (e = "function" == typeof e ? new e() : e).minVersion &&
					this.compareVersion(e.minVersion, this.less.version) < 0
					? new I({
							message:
								"Plugin " +
								i +
								" requires version " +
								this.versionToString(e.minVersion)
						})
					: e
				: null;
		}),
		(Ue.prototype.compareVersion = function (e, t) {
			"string" == typeof e && (e = e.match(/^(\d+)\.?(\d+)?\.?(\d+)?/)).shift();
			for (var i = 0; i < e.length; i++)
				if (e[i] !== t[i]) return parseInt(e[i]) > parseInt(t[i]) ? -1 : 1;
			return 0;
		}),
		(Ue.prototype.versionToString = function (e) {
			for (var t = "", i = 0; i < e.length; i++) t += (t ? "." : "") + e[i];
			return t;
		}),
		(Ue.prototype.printUsage = function (e) {
			for (var t = 0; t < e.length; t++) {
				var i = e[t];
				i.printUsage && i.printUsage();
			}
		}));
	var Be = Ue;
	function Ue() {
		this.require = function () {
			return null;
		};
	}
	var qe = { visitDeeper: !0 },
		Te = !1;
	function ze(e) {
		return e;
	}
	((We.prototype.visit = function (e) {
		if (e) {
			var t = e.typeIndex;
			if (t) {
				var i,
					n = this._implementation,
					r = this._visitInCache[t],
					s = this._visitOutCache[t],
					o = qe;
				if (
					((o.visitDeeper = !0),
					r ||
						((r = n[(i = "visit" + e.type)] || ze),
						(s = n[i + "Out"] || ze),
						(this._visitInCache[t] = r),
						(this._visitOutCache[t] = s)),
					r !== ze && ((i = r.call(n, e, o)), e) && n.isReplacing && (e = i),
					o.visitDeeper && e)
				)
					if (e.length)
						for (var a = 0, l = e.length; a < l; a++) e[a].accept && e[a].accept(this);
					else e.accept && e.accept(this);
				s != ze && s.call(n, e);
			} else e.value && e.value.typeIndex && this.visit(e.value);
		}
		return e;
	}),
		(We.prototype.visitArray = function (e, t) {
			if (!e) return e;
			var i = e.length;
			if (t || !this._implementation.isReplacing) {
				for (r = 0; r < i; r++) this.visit(e[r]);
				return e;
			}
			for (var n = [], r = 0; r < i; r++) {
				var s = this.visit(e[r]);
				void 0 !== s && (s.splice ? s.length && this.flatten(s, n) : n.push(s));
			}
			return n;
		}),
		(We.prototype.flatten = function (e, t) {
			var i, n, r, s, o, a;
			for (t = t || [], n = 0, i = e.length; n < i; n++)
				if (void 0 !== (r = e[n]))
					if (r.splice)
						for (o = 0, s = r.length; o < s; o++)
							void 0 !== (a = r[o]) &&
								(a.splice ? a.length && this.flatten(a, t) : t.push(a));
					else t.push(r);
			return t;
		}));
	var Ge = We;
	function We(e) {
		((this._implementation = e),
			(this._visitInCache = {}),
			(this._visitOutCache = {}),
			Te ||
				((function e(t, i) {
					var n, r;
					for (n in t)
						switch (typeof (r = t[n])) {
							case "function":
								r.prototype && r.prototype.type && (r.prototype.typeIndex = i++);
								break;
							case "object":
								i = e(r, i);
						}
					return i;
				})(k, 1),
				(Te = !0)));
	}
	((He.prototype.addImport = function (e) {
		var t = this,
			i = { callback: e, args: null, isReady: !1 };
		return (
			this.imports.push(i),
			function () {
				((i.args = Array.prototype.slice.call(arguments, 0)), (i.isReady = !0), t.tryRun());
			}
		);
	}),
		(He.prototype.addVariableImport = function (e) {
			this.variableImports.push(e);
		}),
		(He.prototype.tryRun = function () {
			this._currentDepth++;
			try {
				for (;;) {
					for (; 0 < this.imports.length; ) {
						var e = this.imports[0];
						if (!e.isReady) return;
						((this.imports = this.imports.slice(1)), e.callback.apply(null, e.args));
					}
					if (0 === this.variableImports.length) break;
					var t = this.variableImports[0];
					((this.variableImports = this.variableImports.slice(1)), t());
				}
			} finally {
				this._currentDepth--;
			}
			0 === this._currentDepth && this._onSequencerEmpty && this._onSequencerEmpty();
		}));
	var Je = He;
	function He(e) {
		((this.imports = []),
			(this.variableImports = []),
			(this._onSequencerEmpty = e),
			(this._currentDepth = 0));
	}
	function Ke(e, t) {
		((this._visitor = new Ge(this)),
			(this._importer = e),
			(this._finish = t),
			(this.context = new C.Eval()),
			(this.importCount = 0),
			(this.onceFileDetectionMap = {}),
			(this.recursionDetector = {}),
			(this._sequencer = new Je(this._onSequencerEmpty.bind(this))));
	}
	((Ke.prototype = {
		isReplacing: !1,
		run: function (e) {
			try {
				this._visitor.visit(e);
			} catch (e) {
				this.error = e;
			}
			((this.isFinished = !0), this._sequencer.tryRun());
		},
		_onSequencerEmpty: function () {
			this.isFinished && this._finish(this.error);
		},
		visitImport: function (e, t) {
			var i,
				n = e.options.inline;
			((e.css && !n) ||
				((i = (n = new C.Eval(this.context, y(this.context.frames))).frames[0]),
				this.importCount++,
				e.isVariableImport()
					? this._sequencer.addVariableImport(this.processImportNode.bind(this, e, n, i))
					: this.processImportNode(e, n, i)),
				(t.visitDeeper = !1));
		},
		processImportNode: function (t, e, i) {
			var n,
				r = t.options.inline;
			try {
				n = t.evalForImport(e);
			} catch (e) {
				(e.filename || ((e.index = t.getIndex()), (e.filename = t.fileInfo().filename)),
					(t.css = !0),
					(t.error = e));
			}
			if (!n || (n.css && !r))
				(this.importCount--, this.isFinished && this._sequencer.tryRun());
			else {
				n.options.multiple && (e.importMultiple = !0);
				for (var r = void 0 === n.css, s = 0; s < i.rules.length; s++)
					if (i.rules[s] === t) {
						i.rules[s] = n;
						break;
					}
				((e = this.onImported.bind(this, n, e)), (e = this._sequencer.addImport(e)));
				this._importer.push(n.getPath(), r, n.fileInfo(), n.options, e);
			}
		},
		onImported: function (e, t, i, n, r, s) {
			i &&
				(i.filename || ((i.index = e.getIndex()), (i.filename = e.fileInfo().filename)),
				(this.error = i));
			var o = this,
				a = e.options.inline,
				l = e.options.isPlugin,
				u = e.options.optional,
				r = r || s in o.recursionDetector;
			if (
				(t.importMultiple ||
					(e.skip =
						!!r ||
						function () {
							return s in o.onceFileDetectionMap || !(o.onceFileDetectionMap[s] = !0);
						}),
				!s && u && (e.skip = !0),
				n && ((e.root = n), (e.importedFilename = s), !a) && !l && (t.importMultiple || !r))
			) {
				o.recursionDetector[s] = !0;
				u = this.context;
				this.context = t;
				try {
					this._visitor.visit(n);
				} catch (i) {
					this.error = i;
				}
				this.context = u;
			}
			(o.importCount--, o.isFinished && o._sequencer.tryRun());
		},
		visitDeclaration: function (e, t) {
			"DetachedRuleset" === e.value.type
				? this.context.frames.unshift(e)
				: (t.visitDeeper = !1);
		},
		visitDeclarationOut: function (e) {
			"DetachedRuleset" === e.value.type && this.context.frames.shift();
		},
		visitAtRule: function (e, t) {
			this.context.frames.unshift(e);
		},
		visitAtRuleOut: function (e) {
			this.context.frames.shift();
		},
		visitMixinDefinition: function (e, t) {
			this.context.frames.unshift(e);
		},
		visitMixinDefinitionOut: function (e) {
			this.context.frames.shift();
		},
		visitRuleset: function (e, t) {
			this.context.frames.unshift(e);
		},
		visitRulesetOut: function (e) {
			this.context.frames.shift();
		},
		visitMedia: function (e, t) {
			this.context.frames.unshift(e.rules[0]);
		},
		visitMediaOut: function (e) {
			this.context.frames.shift();
		}
	}),
		(Ze.prototype.run = function (e) {
			this.visit(e);
		}),
		(Ze.prototype.visitArray = function (e) {
			if (e) for (var t = e.length, i = 0; i < t; i++) this.visit(e[i]);
			return e;
		}),
		(Ze.prototype.visit = function (e) {
			if (e) {
				if (e.constructor === Array) return this.visitArray(e);
				e.blocksVisibility &&
					!e.blocksVisibility() &&
					(this.visible ? e.ensureVisibility() : e.ensureInvisibility(), e.accept(this));
			}
			return e;
		}));
	var t = Ze;
	function Ze(e) {
		this.visible = e;
	}
	((i.prototype.run = function (e) {
		return (((e = this._visitor.visit(e)).allExtends = this.allExtendsStack[0]), e);
	}),
		(i.prototype.visitDeclaration = function (e, t) {
			t.visitDeeper = !1;
		}),
		(i.prototype.visitMixinDefinition = function (e, t) {
			t.visitDeeper = !1;
		}),
		(i.prototype.visitRuleset = function (e, t) {
			if (!e.root) {
				for (var i, n, r = [], s = e.rules, o = s ? s.length : 0, a = 0; a < o; a++)
					e.rules[a] instanceof k.Extend && (r.push(s[a]), (e.extendOnEveryPath = !0));
				var l = e.paths;
				for (a = 0; a < l.length; a++) {
					var u,
						c = l[a],
						h = c[c.length - 1].extendList;
					for (
						u =
							(u = h ? y(h).concat(r) : r) &&
							u.map(function (e) {
								return e.clone();
							}),
							i = 0;
						i < u.length;
						i++
					)
						((this.foundExtends = !0),
							(n = u[i]).findSelfSelectors(c),
							(n.ruleset = e),
							0 === i && (n.firstExtendOnThisSelectorPath = !0),
							this.allExtendsStack[this.allExtendsStack.length - 1].push(n));
				}
				this.contexts.push(e.selectors);
			}
		}),
		(i.prototype.visitRulesetOut = function (e) {
			e.root || (this.contexts.length = this.contexts.length - 1);
		}),
		(i.prototype.visitMedia = function (e, t) {
			((e.allExtends = []), this.allExtendsStack.push(e.allExtends));
		}),
		(i.prototype.visitMediaOut = function (e) {
			this.allExtendsStack.length = this.allExtendsStack.length - 1;
		}),
		(i.prototype.visitAtRule = function (e, t) {
			((e.allExtends = []), this.allExtendsStack.push(e.allExtends));
		}),
		(i.prototype.visitAtRuleOut = function (e) {
			this.allExtendsStack.length = this.allExtendsStack.length - 1;
		}));
	var Qe = i;
	function i() {
		((this._visitor = new Ge(this)), (this.contexts = []), (this.allExtendsStack = [[]]));
	}
	((c.prototype.run = function (e) {
		var t = new Qe();
		if (((this.extendIndices = {}), t.run(e), !t.foundExtends)) return e;
		((e.allExtends = e.allExtends.concat(this.doExtendChaining(e.allExtends, e.allExtends))),
			(this.allExtendsStack = [e.allExtends]));
		t = this._visitor.visit(e);
		return (this.checkExtendsForNonMatched(e.allExtends), t);
	}),
		(c.prototype.checkExtendsForNonMatched = function (e) {
			var i = this.extendIndices;
			e.filter(function (e) {
				return !e.hasFoundMatches && 1 == e.parent_ids.length;
			}).forEach(function (e) {
				var t = "_unknown_";
				try {
					t = e.selector.toCSS({});
				} catch (e) {}
				i[e.index + " " + t] ||
					((i[e.index + " " + t] = !0), D.warn("extend '" + t + "' has no matches"));
			});
		}),
		(c.prototype.doExtendChaining = function (e, t, i) {
			var n,
				r,
				s,
				o,
				a,
				l,
				u,
				c,
				h = [],
				f = this;
			for (i = i || 0, n = 0; n < e.length; n++)
				for (r = 0; r < t.length; r++)
					((l = e[n]),
						(u = t[r]),
						0 <= l.parent_ids.indexOf(u.object_id) ||
							((a = [u.selfSelectors[0]]),
							(s = f.findMatch(l, a)).length &&
								((l.hasFoundMatches = !0),
								l.selfSelectors.forEach(function (e) {
									var t = u.visibilityInfo();
									((o = f.extendSelector(s, a, e, l.isVisible())),
										(((c = new k.Extend(
											u.selector,
											u.option,
											0,
											u.fileInfo(),
											t
										)).selfSelectors = o)[o.length - 1].extendList = [c]),
										h.push(c),
										(c.ruleset = u.ruleset),
										(c.parent_ids = c.parent_ids.concat(
											u.parent_ids,
											l.parent_ids
										)),
										u.firstExtendOnThisSelectorPath &&
											((c.firstExtendOnThisSelectorPath = !0),
											u.ruleset.paths.push(o)));
								}))));
			if (h.length) {
				if ((this.extendChainCount++, 100 < i)) {
					var p = "{unable to calculate}",
						d = "{unable to calculate}";
					try {
						((p = h[0].selfSelectors[0].toCSS()), (d = h[0].selector.toCSS()));
					} catch (e) {}
					throw {
						message:
							"extend circular reference detected. One of the circular extends is currently:" +
							p +
							":extend(" +
							d +
							")"
					};
				}
				return h.concat(f.doExtendChaining(h, t, i + 1));
			}
			return h;
		}),
		(c.prototype.visitDeclaration = function (e, t) {
			t.visitDeeper = !1;
		}),
		(c.prototype.visitMixinDefinition = function (e, t) {
			t.visitDeeper = !1;
		}),
		(c.prototype.visitSelector = function (e, t) {
			t.visitDeeper = !1;
		}),
		(c.prototype.visitRuleset = function (e, t) {
			if (!e.root) {
				for (
					var i,
						n,
						r = this.allExtendsStack[this.allExtendsStack.length - 1],
						s = [],
						o = this,
						a = 0;
					a < r.length;
					a++
				)
					for (n = 0; n < e.paths.length; n++) {
						var l,
							u = e.paths[n];
						e.extendOnEveryPath ||
							((l = u[u.length - 1].extendList) && l.length) ||
							((i = this.findMatch(r[a], u)).length &&
								((r[a].hasFoundMatches = !0),
								r[a].selfSelectors.forEach(function (e) {
									e = o.extendSelector(i, u, e, r[a].isVisible());
									s.push(e);
								})));
					}
				e.paths = e.paths.concat(s);
			}
		}),
		(c.prototype.findMatch = function (e, t) {
			for (
				var i, n, r, s, o, a, l = e.selector.elements, u = [], c = [], h = 0;
				h < t.length;
				h++
			)
				for (i = t[h], n = 0; n < i.elements.length; n++)
					for (
						r = i.elements[n],
							(e.allowBefore || (0 === h && 0 === n)) &&
								u.push({
									pathIndex: h,
									index: n,
									matched: 0,
									initialCombinator: r.combinator
								}),
							o = 0;
						o < u.length;
						o++
					)
						("" === (s = r.combinator.value) && 0 === n && (s = " "),
							!this.isElementValuesEqual(l[(a = u[o]).matched].value, r.value) ||
							(0 < a.matched && l[a.matched].combinator.value !== s)
								? (a = null)
								: a.matched++,
							(a =
								a &&
								((a.finished = a.matched === l.length), a.finished) &&
								!e.allowAfter &&
								(n + 1 < i.elements.length || h + 1 < t.length)
									? null
									: a)
								? a.finished &&
									((a.length = l.length),
									(a.endPathIndex = h),
									(a.endPathElementIndex = n + 1),
									(u.length = 0),
									c.push(a))
								: (u.splice(o, 1), o--));
			return c;
		}),
		(c.prototype.isElementValuesEqual = function (e, t) {
			if ("string" == typeof e || "string" == typeof t) return e === t;
			if (e instanceof k.Attribute)
				return (
					e.op === t.op &&
					e.key === t.key &&
					(e.value && t.value
						? (e = e.value.value || e.value) === (t = t.value.value || t.value)
						: !e.value && !t.value)
				);
			if (((e = e.value), (t = t.value), e instanceof k.Selector)) {
				if (!(t instanceof k.Selector) || e.elements.length !== t.elements.length)
					return !1;
				for (var i = 0; i < e.elements.length; i++) {
					if (
						e.elements[i].combinator.value !== t.elements[i].combinator.value &&
						(0 !== i ||
							(e.elements[i].combinator.value || " ") !==
								(t.elements[i].combinator.value || " "))
					)
						return !1;
					if (!this.isElementValuesEqual(e.elements[i].value, t.elements[i].value))
						return !1;
				}
				return !0;
			}
			return !1;
		}),
		(c.prototype.extendSelector = function (e, t, i, n) {
			for (var r, s, o, a = 0, l = 0, u = [], c = 0; c < e.length; c++)
				((o = t[(s = e[c]).pathIndex]),
					(r = new k.Element(
						s.initialCombinator,
						i.elements[0].value,
						i.elements[0].isVariable,
						i.elements[0].getIndex(),
						i.elements[0].fileInfo()
					)),
					s.pathIndex > a &&
						0 < l &&
						((u[u.length - 1].elements = u[u.length - 1].elements.concat(
							t[a].elements.slice(l)
						)),
						(l = 0),
						a++),
					(o = o.elements.slice(l, s.index).concat([r]).concat(i.elements.slice(1))),
					a === s.pathIndex && 0 < c
						? (u[u.length - 1].elements = u[u.length - 1].elements.concat(o))
						: (u = u.concat(t.slice(a, s.pathIndex))).push(new k.Selector(o)),
					(a = s.endPathIndex),
					(l = s.endPathElementIndex) >= t[a].elements.length && ((l = 0), a++));
			return (
				a < t.length &&
					0 < l &&
					((u[u.length - 1].elements = u[u.length - 1].elements.concat(
						t[a].elements.slice(l)
					)),
					a++),
				(u = (u = u.concat(t.slice(a, t.length))).map(function (e) {
					e = e.createDerived(e.elements);
					return (n ? e.ensureVisibility() : e.ensureInvisibility(), e);
				}))
			);
		}),
		(c.prototype.visitMedia = function (e, t) {
			var i = (i = e.allExtends.concat(
				this.allExtendsStack[this.allExtendsStack.length - 1]
			)).concat(this.doExtendChaining(i, e.allExtends));
			this.allExtendsStack.push(i);
		}),
		(c.prototype.visitMediaOut = function (e) {
			var t = this.allExtendsStack.length - 1;
			this.allExtendsStack.length = t;
		}),
		(c.prototype.visitAtRule = function (e, t) {
			var i = (i = e.allExtends.concat(
				this.allExtendsStack[this.allExtendsStack.length - 1]
			)).concat(this.doExtendChaining(i, e.allExtends));
			this.allExtendsStack.push(i);
		}),
		(c.prototype.visitAtRuleOut = function (e) {
			var t = this.allExtendsStack.length - 1;
			this.allExtendsStack.length = t;
		}));
	var o = c;
	function c() {
		this._visitor = new Ge(this);
	}
	((_.prototype.run = function (e) {
		return this._visitor.visit(e);
	}),
		(_.prototype.visitDeclaration = function (e, t) {
			t.visitDeeper = !1;
		}),
		(_.prototype.visitMixinDefinition = function (e, t) {
			t.visitDeeper = !1;
		}),
		(_.prototype.visitRuleset = function (e, t) {
			var i,
				n = this.contexts[this.contexts.length - 1],
				r = [];
			(this.contexts.push(r),
				e.root ||
					((i = e.selectors) &&
						((i = i.filter(function (e) {
							return e.getIsOutput();
						})),
						(e.selectors = i.length ? i : (i = null)),
						i) &&
						e.joinSelectors(r, n, i),
					i || (e.rules = null),
					(e.paths = r)));
		}),
		(_.prototype.visitRulesetOut = function (e) {
			this.contexts.length = this.contexts.length - 1;
		}),
		(_.prototype.visitMedia = function (e, t) {
			var i = this.contexts[this.contexts.length - 1];
			e.rules[0].root = 0 === i.length || i[0].multiMedia;
		}),
		(_.prototype.visitAtRule = function (e, t) {
			var i = this.contexts[this.contexts.length - 1];
			e.rules && e.rules.length && (e.rules[0].root = e.isRooted || 0 === i.length || null);
		}));
	var S = _;
	function _() {
		((this.contexts = [[]]), (this._visitor = new Ge(this)));
	}
	((Ye.prototype.containsSilentNonBlockedChild = function (e) {
		var t;
		if (e)
			for (var i = 0; i < e.length; i++)
				if ((t = e[i]).isSilent && t.isSilent(this._context) && !t.blocksVisibility())
					return !0;
		return !1;
	}),
		(Ye.prototype.keepOnlyVisibleChilds = function (e) {
			e &&
				e.rules &&
				(e.rules = e.rules.filter(function (e) {
					return e.isVisible();
				}));
		}),
		(Ye.prototype.isEmpty = function (e) {
			return !e || !e.rules || 0 === e.rules.length;
		}),
		(Ye.prototype.hasVisibleSelector = function (e) {
			return !(!e || !e.paths) && 0 < e.paths.length;
		}),
		(Ye.prototype.resolveVisibility = function (e, t) {
			var i;
			return e.blocksVisibility()
				? ((i = e.rules[0]),
					this.keepOnlyVisibleChilds(i),
					this.isEmpty(i) ? void 0 : (e.ensureVisibility(), e.removeVisibilityBlock(), e))
				: this.isEmpty(e) && !this.containsSilentNonBlockedChild(t)
					? void 0
					: e;
		}),
		(Ye.prototype.isVisibleRuleset = function (e) {
			return !!e.firstRoot || !(this.isEmpty(e) || (!e.root && !this.hasVisibleSelector(e)));
		}));
	var Xe = Ye;
	function Ye(e) {
		((this._visitor = new Ge(this)), (this._context = e));
	}
	function et(e) {
		((this._visitor = new Ge(this)), (this._context = e), (this.utils = new Xe(e)));
	}
	et.prototype = {
		isReplacing: !0,
		run: function (e) {
			return this._visitor.visit(e);
		},
		visitDeclaration: function (e, t) {
			if (!e.blocksVisibility() && !e.variable) return e;
		},
		visitMixinDefinition: function (e, t) {
			e.frames = [];
		},
		visitExtend: function (e, t) {},
		visitComment: function (e, t) {
			if (!e.blocksVisibility() && !e.isSilent(this._context)) return e;
		},
		visitMedia: function (e, t) {
			var i = e.rules[0].rules;
			return (
				e.accept(this._visitor),
				(t.visitDeeper = !1),
				this.utils.resolveVisibility(e, i)
			);
		},
		visitImport: function (e, t) {
			if (!e.blocksVisibility()) return e;
		},
		visitAtRule: function (e, t) {
			return e.rules && e.rules.length
				? this.visitAtRuleWithBody(e, t)
				: this.visitAtRuleWithoutBody(e, t);
		},
		visitAnonymous: function (e, t) {
			if (!e.blocksVisibility()) return (e.accept(this._visitor), e);
		},
		visitAtRuleWithBody: function (e, t) {
			i = (n = e).rules;
			var i,
				n =
					1 !== (n = (n = n).rules).length || (n[0].paths && 0 !== n[0].paths.length)
						? i
						: i[0].rules;
			return (
				e.accept(this._visitor),
				(t.visitDeeper = !1),
				this.utils.isEmpty(e) || this._mergeRules(e.rules[0].rules),
				this.utils.resolveVisibility(e, n)
			);
		},
		visitAtRuleWithoutBody: function (e, t) {
			if (!e.blocksVisibility()) {
				if ("@charset" === e.name) {
					var i;
					if (this.charset)
						return e.debugInfo
							? (((i = new k.Comment(
									"/* " + e.toCSS(this._context).replace(/\n/g, "") + " */\n"
								)).debugInfo = e.debugInfo),
								this._visitor.visit(i))
							: void 0;
					this.charset = !0;
				}
				return e;
			}
		},
		checkValidNodes: function (e, t) {
			if (e)
				for (var i = 0; i < e.length; i++) {
					var n = e[i];
					if (t && n instanceof k.Declaration && !n.variable)
						throw {
							message:
								"Properties must be inside selector blocks. They cannot be in the root",
							index: n.getIndex(),
							filename: n.fileInfo() && n.fileInfo().filename
						};
					if (n instanceof k.Call)
						throw {
							message: "Function '" + n.name + "' did not return a root node",
							index: n.getIndex(),
							filename: n.fileInfo() && n.fileInfo().filename
						};
					if (n.type && !n.allowRoot)
						throw {
							message: n.type + " node returned by a function is not valid here",
							index: n.getIndex(),
							filename: n.fileInfo() && n.fileInfo().filename
						};
				}
		},
		visitRuleset: function (e, t) {
			var i,
				n = [];
			if ((this.checkValidNodes(e.rules, e.firstRoot), e.root)) e.accept(this._visitor);
			else {
				this._compileRulesetPaths(e);
				for (var r = e.rules, s = r ? r.length : 0, o = 0; o < s; )
					(i = r[o]) && i.rules
						? (n.push(this._visitor.visit(i)), r.splice(o, 1), s--)
						: o++;
				0 < s ? e.accept(this._visitor) : (e.rules = null);
			}
			return (
				(t.visitDeeper = !1),
				e.rules && (this._mergeRules(e.rules), this._removeDuplicateRules(e.rules)),
				this.utils.isVisibleRuleset(e) && (e.ensureVisibility(), n.splice(0, 0, e)),
				1 === n.length ? n[0] : n
			);
		},
		_compileRulesetPaths: function (e) {
			e.paths &&
				(e.paths = e.paths.filter(function (e) {
					var t;
					for (
						" " === e[0].elements[0].combinator.value &&
							(e[0].elements[0].combinator = new k.Combinator("")),
							t = 0;
						t < e.length;
						t++
					)
						if (e[t].isVisible() && e[t].getIsOutput()) return !0;
					return !1;
				}));
		},
		_removeDuplicateRules: function (e) {
			if (e)
				for (var t, i, n, r = {}, s = e.length - 1; 0 <= s; s--)
					(n = e[s]) instanceof k.Declaration &&
						(r[n.name]
							? ((t = r[n.name]) instanceof k.Declaration &&
									(t = r[n.name] = [r[n.name].toCSS(this._context)]),
								(i = n.toCSS(this._context)),
								-1 !== t.indexOf(i) ? e.splice(s, 1) : t.push(i))
							: (r[n.name] = n));
		},
		_mergeRules: function (e) {
			if (e) {
				for (var t = {}, i = [], n = 0; n < e.length; n++) {
					var r,
						s = e[n];
					s.merge &&
						(t[(r = s.name)] ? e.splice(n--, 1) : i.push((t[r] = [])), t[r].push(s));
				}
				i.forEach(function (e) {
					var t, i, n;
					0 < e.length &&
						((t = e[0]),
						(i = []),
						(n = [new k.Expression(i)]),
						e.forEach(function (e) {
							("+" === e.merge && 0 < i.length && n.push(new k.Expression((i = []))),
								i.push(e.value),
								(t.important = t.important || e.important));
						}),
						(t.value = new k.Value(n)));
				});
			}
		}
	};
	var tt = {
		Visitor: Ge,
		ImportVisitor: Ke,
		MarkVisibleSelectorsVisitor: t,
		ExtendVisitor: o,
		JoinSelectorVisitor: S,
		ToCSSVisitor: et
	};
	function it() {
		var d,
			u,
			n,
			i,
			c,
			h,
			f,
			t = [],
			m = {};
		function v(e) {
			for (
				var t, i, n = m.i - f, r = m.i + h.length - n, s = (m.i += e), o = d;
				m.i < r;
				m.i++
			) {
				if (((t = o.charCodeAt(m.i)), m.autoCommentAbsorb && 47 === t)) {
					if ("/" === (i = o.charAt(m.i + 1))) {
						var a = { index: m.i, isLineComment: !0 },
							l = o.indexOf("\n", m.i + 2);
						((m.i = l = l < 0 ? r : l),
							(a.text = o.substr(a.index, m.i - a.index)),
							m.commentStore.push(a));
						continue;
					}
					if ("*" === i) {
						l = o.indexOf("*/", m.i + 2);
						if (0 <= l) {
							((a = {
								index: m.i,
								text: o.substr(m.i, l + 2 - m.i),
								isLineComment: !1
							}),
								(m.i += a.text.length - 1),
								m.commentStore.push(a));
							continue;
						}
					}
					break;
				}
				if (32 !== t && 10 !== t && 9 !== t && 13 !== t) break;
			}
			if (((h = h.slice(e + m.i - s + n)), (f = m.i), !h.length)) {
				if (u < c.length - 1) return ((h = c[++u]), void v(0));
				m.finished = !0;
			}
		}
		return (
			(m.save = function () {
				((f = m.i), t.push({ current: h, i: m.i, j: u }));
			}),
			(m.restore = function (e) {
				(n < m.i || (m.i === n && e && !i)) && ((n = m.i), (i = e));
				e = t.pop();
				((h = e.current), (f = m.i = e.i), (u = e.j));
			}),
			(m.forget = function () {
				t.pop();
			}),
			(m.isWhitespace = function (e) {
				e = d.charCodeAt(m.i + (e || 0));
				return 32 === e || 13 === e || 9 === e || 10 === e;
			}),
			(m.$re = function (e) {
				f < m.i && ((h = h.slice(m.i - f)), (f = m.i));
				e = e.exec(h);
				return e
					? (v(e[0].length), "string" != typeof e && 1 === e.length ? e[0] : e)
					: null;
			}),
			(m.$char = function (e) {
				return d.charAt(m.i) !== e ? null : (v(1), e);
			}),
			(m.$str = function (e) {
				for (var t = e.length, i = 0; i < t; i++)
					if (d.charAt(m.i + i) !== e.charAt(i)) return null;
				return (v(t), e);
			}),
			(m.$quoted = function (e) {
				var t = e || m.i,
					i = d.charAt(t);
				if ("'" === i || '"' === i) {
					for (var n = d.length, r = t, s = 1; s + r < n; s++)
						switch (d.charAt(s + r)) {
							case "\\":
								s++;
								continue;
							case "\r":
							case "\n":
								break;
							case i:
								var o = d.substr(r, s + 1);
								return e || 0 === e ? [i, o] : (v(s + 1), o);
						}
					return null;
				}
			}),
			(m.$parseUntil = function (t) {
				var e = null,
					i = !1,
					n = 0,
					r = [],
					s = [],
					o = d.length,
					a = m.i,
					l = m.i,
					u = m.i,
					c = !0,
					h =
						"string" == typeof t
							? function (e) {
									return e === t;
								}
							: function (e) {
									return t.test(e);
								};
				do {
					var f = d.charAt(u);
					if (0 === n && h(f))
						((e = d.substr(l, u - l)), s.push(e || " "), (e = s), v(u - a), (c = !1));
					else if (i) ("*" === f && "/" === d.charAt(u + 1) && (u++, n--, (i = !1)), u++);
					else {
						switch (f) {
							case "\\":
								(u++,
									(f = d.charAt(u)),
									s.push(d.substr(l, u - l + 1)),
									(l = u + 1));
								break;
							case "/":
								"*" === d.charAt(u + 1) && (u++, (i = !0), n++);
								break;
							case "'":
							case '"':
								(p = m.$quoted(u))
									? (s.push(d.substr(l, u - l), p),
										(l = (u += p[1].length - 1) + 1))
									: (v(u - a), (e = f), (c = !1));
								break;
							case "{":
								(r.push("}"), n++);
								break;
							case "(":
								(r.push(")"), n++);
								break;
							case "[":
								(r.push("]"), n++);
								break;
							case "}":
							case ")":
							case "]":
								var p = r.pop();
								f === p ? n-- : (v(u - a), (e = p), (c = !1));
						}
						o < ++u && (c = !1);
					}
				} while (c);
				return e || null;
			}),
			(m.autoCommentAbsorb = !0),
			(m.commentStore = []),
			(m.finished = !1),
			(m.peek = function (e) {
				if ("string" != typeof e) return e.test(h);
				for (var t = 0; t < e.length; t++) if (d.charAt(m.i + t) !== e.charAt(t)) return !1;
				return !0;
			}),
			(m.peekChar = function (e) {
				return d.charAt(m.i) === e;
			}),
			(m.currentChar = function () {
				return d.charAt(m.i);
			}),
			(m.prevChar = function () {
				return d.charAt(m.i - 1);
			}),
			(m.getInput = function () {
				return d;
			}),
			(m.peekNotNumeric = function () {
				var e = d.charCodeAt(m.i);
				return 57 < e || e < 43 || 47 === e || 44 === e;
			}),
			(m.start = function (e, t, i) {
				((d = e),
					(m.i = u = f = n = 0),
					(c = t
						? ((i, e) => {
								var t,
									n,
									r,
									s,
									o,
									a,
									l,
									u,
									c,
									h = i.length,
									f = 0,
									p = 0,
									d = [],
									m = 0;
								function v(e) {
									var t = o - m;
									(t < 512 && !e) ||
										!t ||
										(d.push(i.slice(m, o + 1)), (m = o + 1));
								}
								for (o = 0; o < h; o++)
									if (!((97 <= (l = i.charCodeAt(o)) && l <= 122) || l < 34))
										switch (l) {
											case 40:
												(p++, (n = o));
												continue;
											case 41:
												if (--p < 0) return e("missing opening `(`", o);
												continue;
											case 59:
												p || v();
												continue;
											case 123:
												(f++, (t = o));
												continue;
											case 125:
												if (--f < 0) return e("missing opening `{`", o);
												f || p || v();
												continue;
											case 92:
												if (o < h - 1) {
													o++;
													continue;
												}
												return e("unescaped `\\`", o);
											case 34:
											case 39:
											case 96:
												for (c = 0, a = o, o += 1; o < h; o++)
													if (!(96 < (u = i.charCodeAt(o)))) {
														if (u == l) {
															c = 1;
															break;
														}
														if (92 == u) {
															if (o == h - 1)
																return e("unescaped `\\`", o);
															o++;
														}
													}
												if (c) continue;
												return e(
													"unmatched `" + String.fromCharCode(l) + "`",
													a
												);
											case 47:
												if (p || o == h - 1) continue;
												if (47 == (u = i.charCodeAt(o + 1)))
													for (
														o += 2;
														o < h &&
														(!((u = i.charCodeAt(o)) <= 13) ||
															(10 != u && 13 != u));
														o++
													);
												else if (42 == u) {
													for (
														r = a = o, o += 2;
														o < h - 1 &&
														(125 == (u = i.charCodeAt(o)) && (s = o),
														42 != u || 47 != i.charCodeAt(o + 1));
														o++
													);
													if (o == h - 1)
														return e("missing closing `*/`", a);
													o++;
												}
												continue;
											case 42:
												if (o < h - 1 && 47 == i.charCodeAt(o + 1))
													return e("unmatched `/*`", o);
												continue;
										}
								return 0 !== f
									? e(
											t < r && r < s
												? "missing closing `}` or `*/`"
												: "missing closing `}`",
											t
										)
									: 0 !== p
										? e("missing closing `)`", n)
										: (v(!0), d);
							})(e, i)
						: [e]),
					(h = c[0]),
					v(0));
			}),
			(m.end = function () {
				var e,
					t = m.i >= d.length;
				return (
					m.i < n && ((e = i), (m.i = n)),
					{
						isFinished: t,
						furthest: m.i,
						furthestPossibleErrorMessage: e,
						furthestReachedEnd: m.i >= d.length - 1,
						furthestChar: d[m.i]
					}
				);
			}),
			m
		);
	}
	var nt = function h(f, p, d) {
		var m,
			v = it();
		function g(e, t) {
			throw new I({ index: v.i, filename: d.filename, type: t || "Syntax", message: e }, p);
		}
		function u(e, t) {
			var i = e instanceof Function ? e.call(m) : v.$re(e);
			if (i) return i;
			g(
				t ||
					("string" == typeof e
						? "expected '" + e + "' got '" + v.currentChar() + "'"
						: "unexpected token")
			);
		}
		function l(e, t) {
			v.$char(e) || g(t || "expected '" + e + "' got '" + v.currentChar() + "'");
		}
		function c(e) {
			var t = d.filename;
			return { lineNumber: Y(e, v.getInput()).line + 1, fileName: t };
		}
		return {
			parserInput: v,
			imports: p,
			fileInfo: d,
			parseNode: function (e, t, i, n, r) {
				var s,
					o = [],
					a = v;
				try {
					a.start(e, !1, function (e, t) {
						r({ message: e, index: t + i });
					});
					for (var l, u, c = 0; (l = t[c]); c++)
						if (((u = a.i), (s = m[l]()))) {
							try {
								((s._index = u + i), (s._fileInfo = n));
							} catch (e) {}
							o.push(s);
						} else o.push(null);
					a.end().isFinished ? r(null, o) : r(!0, null);
				} catch (e) {
					throw new I({ index: e.index + i, message: e.message }, p, n.filename);
				}
			},
			parse: function (e, t, i) {
				var n,
					r,
					s = null,
					o = "";
				if (
					(i &&
						i.disablePluginRule &&
						(m.plugin = function () {
							v.$re(/^@plugin?\s+/) &&
								g(
									"@plugin statements are not allowed when disablePluginRule is set to true"
								);
						}),
					(c = i && i.globalVars ? h.serializeVars(i.globalVars) + "\n" : ""),
					(r = i && i.modifyVars ? "\n" + h.serializeVars(i.modifyVars) : ""),
					f.pluginManager)
				)
					for (var a = f.pluginManager.getPreProcessors(), l = 0; l < a.length; l++)
						e = a[l].process(e, { context: f, imports: p, fileInfo: d });
				((c || (i && i.banner)) &&
					((o = (i && i.banner ? i.banner : "") + c),
					((i = p.contentsIgnoredChars)[d.filename] = i[d.filename] || 0),
					(i[d.filename] += o.length)),
					(e = o + (e = e.replace(/\r\n?/g, "\n")).replace(/^\uFEFF/, "") + r),
					(p.contents[d.filename] = e));
				try {
					(v.start(e, f.chunkInput, function (e, t) {
						throw new I(
							{ index: t, type: "Parse", message: e, filename: d.filename },
							p
						);
					}),
						(k.Node.prototype.parse = this),
						(n = new k.Ruleset(null, this.parsers.primary())),
						((k.Node.prototype.rootNode = n).root = !0),
						(n.firstRoot = !0),
						(n.functionRegistry = x.inherit()));
				} catch (e) {
					return t(new I(e, p, d.filename));
				}
				function u(e) {
					return (e = s || e || p.error)
						? (e instanceof I || (e = new I(e, p, d.filename)), t(e))
						: t(null, n);
				}
				var c = v.end();
				c.isFinished ||
					((i = c.furthestPossibleErrorMessage) ||
						((i = "Unrecognised input"),
						"}" === c.furthestChar
							? (i += ". Possibly missing opening '{'")
							: ")" === c.furthestChar
								? (i += ". Possibly missing opening '('")
								: c.furthestReachedEnd && (i += ". Possibly missing something")),
					(s = new I(
						{ type: "Parse", message: i, index: c.furthest, filename: d.filename },
						p
					)));
				if (!1 === f.processImports) return u();
				new tt.ImportVisitor(p, u).run(n);
			},
			parsers: (m = {
				primary: function () {
					for (var e, t = this.mixin, i = []; ; ) {
						for (;;) {
							if (!(e = this.comment())) break;
							i.push(e);
						}
						if (v.finished) break;
						if (v.peek("}")) break;
						if ((e = this.extendRule())) i = i.concat(e);
						else if (
							(e =
								t.definition() ||
								this.declaration() ||
								t.call(!1, !1) ||
								this.ruleset() ||
								this.variableCall() ||
								this.entities.call() ||
								this.atrule())
						)
							i.push(e);
						else {
							for (var n = !1; v.$char(";"); ) n = !0;
							if (!n) break;
						}
					}
					return i;
				},
				comment: function () {
					var e;
					if (v.commentStore.length)
						return (
							(e = v.commentStore.shift()),
							new k.Comment(e.text, e.isLineComment, e.index, d)
						);
				},
				entities: {
					mixinLookup: function () {
						return m.mixin.call(!0, !0);
					},
					quoted: function (e) {
						var t = v.i,
							i = !1;
						if ((v.save(), v.$char("~"))) i = !0;
						else if (e) return void v.restore();
						if ((e = v.$quoted()))
							return (
								v.forget(),
								new k.Quoted(e.charAt(0), e.substr(1, e.length - 2), i, t, d)
							);
						v.restore();
					},
					keyword: function () {
						var e =
							v.$char("%") ||
							v.$re(/^\[?(?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+\]?/);
						if (e) return k.Color.fromKeyword(e) || new k.Keyword(e);
					},
					call: function () {
						var e,
							t,
							i,
							n = v.i;
						if (!v.peek(/^url\(/i)) {
							if ((v.save(), (e = v.$re(/^([\w-]+|%|~|progid:[\w\.]+)\(/))))
								return (
									(e = e[1]),
									(i = this.customFuncCall(e)) && (t = i.parse()) && i.stop
										? (v.forget(), t)
										: ((t = this.arguments(t)),
											v.$char(")")
												? (v.forget(), new k.Call(e, t, n, d))
												: void v.restore(
														"Could not parse call arguments or missing ')'"
													))
								);
							v.forget();
						}
					},
					customFuncCall: function (e) {
						return { alpha: t(m.ieAlpha, !0), boolean: t(i), if: t(i) }[
							e.toLowerCase()
						];
						function t(e, t) {
							return { parse: e, stop: t };
						}
						function i() {
							return [u(m.condition, "expected condition")];
						}
					},
					arguments: function (e) {
						var t,
							i,
							n = e || [],
							r = [];
						for (v.save(); ; ) {
							if (e) e = !1;
							else {
								if (
									!(i =
										m.detachedRuleset() || this.assignment() || m.expression())
								)
									break;
								(i.value && 1 == i.value.length && (i = i.value[0]), n.push(i));
							}
							v.$char(",") ||
								((v.$char(";") || t) &&
									((t = !0),
									(i = n.length < 1 ? n[0] : new k.Value(n)),
									r.push(i),
									(n = [])));
						}
						return (v.forget(), t ? r : n);
					},
					literal: function () {
						return (
							this.dimension() ||
							this.color() ||
							this.quoted() ||
							this.unicodeDescriptor()
						);
					},
					assignment: function () {
						var e, t;
						if (
							(v.save(), (e = v.$re(/^\w+(?=\s?=)/i))) &&
							v.$char("=") &&
							(t = m.entity())
						)
							return (v.forget(), new k.Assignment(e, t));
						v.restore();
					},
					url: function () {
						var e,
							t = v.i;
						if (((v.autoCommentAbsorb = !1), v.$str("url(")))
							return (
								(e =
									this.quoted() ||
									this.variable() ||
									this.property() ||
									v.$re(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/) ||
									""),
								(v.autoCommentAbsorb = !0),
								l(")"),
								new k.URL(
									null != e.value ||
									e instanceof k.Variable ||
									e instanceof k.Property
										? e
										: new k.Anonymous(e, t),
									t,
									d
								)
							);
						v.autoCommentAbsorb = !0;
					},
					variable: function () {
						var e,
							t = v.i;
						if ((v.save(), "@" === v.currentChar() && (e = v.$re(/^@@?[\w-]+/)))) {
							if (
								"(" === (i = v.currentChar()) ||
								("[" === i && !v.prevChar().match(/^\s/))
							) {
								var i = m.variableCall(e);
								if (i) return (v.forget(), i);
							}
							return (v.forget(), new k.Variable(e, t, d));
						}
						v.restore();
					},
					variableCurly: function () {
						var e,
							t = v.i;
						if ("@" === v.currentChar() && (e = v.$re(/^@\{([\w-]+)\}/)))
							return new k.Variable("@" + e[1], t, d);
					},
					property: function () {
						var e,
							t = v.i;
						if ("$" === v.currentChar() && (e = v.$re(/^\$[\w-]+/)))
							return new k.Property(e, t, d);
					},
					propertyCurly: function () {
						var e,
							t = v.i;
						if ("$" === v.currentChar() && (e = v.$re(/^\$\{([\w-]+)\}/)))
							return new k.Property("$" + e[1], t, d);
					},
					color: function () {
						var e;
						if (
							(v.save(),
							"#" === v.currentChar() &&
								(e = v.$re(
									/^#([A-Fa-f0-9]{8}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3,4})([\w.#\[])?/
								)) &&
								!e[2])
						)
							return (v.forget(), new k.Color(e[1], void 0, e[0]));
						v.restore();
					},
					colorKeyword: function () {
						v.save();
						var e = v.autoCommentAbsorb,
							t = ((v.autoCommentAbsorb = !1), v.$re(/^[_A-Za-z-][_A-Za-z0-9-]+/));
						if (((v.autoCommentAbsorb = e), t))
							return (
								v.restore(),
								(e = k.Color.fromKeyword(t)) ? (v.$str(t), e) : void 0
							);
						v.forget();
					},
					dimension: function () {
						var e;
						return !v.peekNotNumeric() && (e = v.$re(/^([+-]?\d*\.?\d+)(%|[a-z_]+)?/i))
							? new k.Dimension(e[1], e[2])
							: void 0;
					},
					unicodeDescriptor: function () {
						var e = v.$re(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/);
						if (e) return new k.UnicodeDescriptor(e[0]);
					},
					javascript: function () {
						var e,
							t = v.i,
							i = (v.save(), v.$char("~"));
						if (v.$char("`")) {
							if ((e = v.$re(/^[^`]*`/)))
								return (
									v.forget(),
									new k.JavaScript(e.substr(0, e.length - 1), Boolean(i), t, d)
								);
							v.restore("invalid javascript definition");
						} else v.restore();
					}
				},
				variable: function () {
					var e;
					if ("@" === v.currentChar() && (e = v.$re(/^(@[\w-]+)\s*:/))) return e[1];
				},
				variableCall: function (e) {
					var t,
						i = v.i,
						n = !!e;
					if (
						(v.save(),
						e || ("@" === v.currentChar() && (e = v.$re(/^(@[\w-]+)(\(\s*\))?/))))
					) {
						if (
							!(t = this.mixin.ruleLookups()) &&
							((n && "()" !== v.$str("()")) || "()" !== e[2])
						)
							return void v.restore("Missing '[...]' lookup in variable call");
						n || (e = e[1]);
						e = new k.VariableCall(e, i, d);
						return !n && m.end()
							? (v.forget(), e)
							: (v.forget(), new k.NamespaceValue(e, t, i, d));
					}
					v.restore();
				},
				extend: function (e) {
					var t,
						i,
						n,
						r,
						s,
						o = v.i;
					if (v.$str(e ? "&:extend(" : ":extend(")) {
						do {
							for (
								t = n = null;
								!(n = v.$re(/^(all)(?=\s*(\)|,))/)) && (i = this.element());

							)
								t ? t.push(i) : (t = [i]);
						} while (
							((n = n && n[1]),
							t || g("Missing target selector for :extend()."),
							(s = new k.Extend(new k.Selector(t), n, o, d)),
							r ? r.push(s) : (r = [s]),
							v.$char(","))
						);
						return (u(/^\)/), e && u(/^;/), r);
					}
				},
				extendRule: function () {
					return this.extend(!0);
				},
				mixin: {
					call: function (e, t) {
						var i,
							n,
							r,
							s = v.currentChar(),
							o = !1,
							a = v.i;
						if ("." === s || "#" === s) {
							if ((v.save(), (s = this.elements()))) {
								if (
									(v.$char("(") && ((n = this.args(!0).args), l(")"), (r = !0)),
									!1 !== t && (i = this.ruleLookups()),
									!0 === t && !i)
								)
									return void v.restore();
								if (e && !i && !r) return void v.restore();
								if ((!e && m.important() && (o = !0), e || m.end()))
									return (
										v.forget(),
										(t = new k.mixin.Call(s, n, a, d, !i && o)),
										i ? new k.NamespaceValue(t, i) : t
									);
							}
							v.restore();
						}
					},
					elements: function () {
						for (
							var e,
								t,
								i,
								n,
								r = /^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/;
							(n = v.i), (i = v.$re(r));

						)
							((i = new k.Element(t, i, !1, n, d)),
								e ? e.push(i) : (e = [i]),
								(t = v.$char(">")));
						return e;
					},
					args: function (e) {
						var t,
							i,
							n,
							r,
							s,
							o,
							a = m.entities,
							l = { args: null, variadic: !1 },
							u = [],
							c = [],
							h = [],
							f = !0;
						for (v.save(); ; ) {
							if (e) s = m.detachedRuleset() || m.expression();
							else {
								if (((v.commentStore.length = 0), v.$str("..."))) {
									((l.variadic = !0),
										((t = v.$char(";") && !t ? !0 : t) ? c : h).push({
											variadic: !0
										}));
									break;
								}
								s =
									a.variable() ||
									a.property() ||
									a.literal() ||
									a.keyword() ||
									this.call(!0);
							}
							if (!s || !f) break;
							((r = null), s.throwAwayComments && s.throwAwayComments());
							var p = s,
								d = null;
							if (
								(e ? s.value && 1 == s.value.length && (d = s.value[0]) : (d = s),
								d && (d instanceof k.Variable || d instanceof k.Property))
							)
								if (v.$char(":")) {
									if (
										(0 < u.length &&
											(t && g("Cannot mix ; and , as delimiter types"),
											(i = !0)),
										!(p = m.detachedRuleset() || m.expression()))
									) {
										if (!e) return (v.restore(), (l.args = []), l);
										g("could not understand value for named argument");
									}
									r = n = d.name;
								} else if (v.$str("...")) {
									if (!e) {
										((l.variadic = !0),
											((t = v.$char(";") && !t ? !0 : t) ? c : h).push({
												name: s.name,
												variadic: !0
											}));
										break;
									}
									o = !0;
								} else e || ((n = r = d.name), (p = null));
							(p && u.push(p),
								h.push({ name: r, value: p, expand: o }),
								v.$char(",")
									? (f = !0)
									: ((f = ";" === v.$char(";")) || t) &&
										(i && g("Cannot mix ; and , as delimiter types"),
										(t = !0),
										1 < u.length && (p = new k.Value(u)),
										c.push({ name: n, value: p, expand: o }),
										(n = null),
										(i = !(u = []))));
						}
						return (v.forget(), (l.args = t ? c : h), l);
					},
					definition: function () {
						var e, t;
						if (
							!(
								("." !== v.currentChar() && "#" !== v.currentChar()) ||
								v.peek(/^[^{]*\}/)
							)
						)
							if (
								(v.save(),
								(i = v.$re(
									/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/
								)))
							) {
								var i = i[1],
									n = this.args(!1),
									r = n.args,
									n = n.variadic;
								if (v.$char(")")) {
									if (
										((v.commentStore.length = 0),
										v.$str("when") &&
											(t = u(m.conditions, "expected condition")),
										(e = m.block()))
									)
										return (v.forget(), new k.mixin.Definition(i, r, e, t, n));
									v.restore();
								} else v.restore("Missing closing ')'");
							} else v.restore();
					},
					ruleLookups: function () {
						var e,
							t = [];
						if ("[" === v.currentChar()) {
							for (;;) {
								if ((v.save(), !(e = this.lookupValue()) && "" !== e)) {
									v.restore();
									break;
								}
								(t.push(e), v.forget());
							}
							return 0 < t.length ? t : void 0;
						}
					},
					lookupValue: function () {
						if ((v.save(), v.$char("["))) {
							var e = v.$re(/^(?:[@$]{0,2})[_a-zA-Z0-9-]*/);
							if (v.$char("]"))
								return e || "" === e ? (v.forget(), e) : void v.restore();
						}
						v.restore();
					}
				},
				entity: function () {
					var e = this.entities;
					return (
						this.comment() ||
						e.literal() ||
						e.variable() ||
						e.url() ||
						e.property() ||
						e.call() ||
						e.keyword() ||
						this.mixin.call(!0) ||
						e.javascript()
					);
				},
				end: function () {
					return v.$char(";") || v.peek("}");
				},
				ieAlpha: function () {
					var e;
					if (v.$re(/^opacity=/i))
						return (
							(e =
								(e = v.$re(/^\d+/)) ||
								"@{" +
									(e = u(
										m.entities.variable,
										"Could not parse alpha"
									)).name.slice(1) +
									"}"),
							l(")"),
							new k.Quoted("", "alpha(opacity=" + e + ")")
						);
				},
				element: function () {
					var e,
						t = v.i,
						i = this.combinator(),
						n =
							v.$re(/^(?:\d+\.\d+|\d+)%/) ||
							v.$re(
								/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/
							) ||
							v.$char("*") ||
							v.$char("&") ||
							this.attribute() ||
							v.$re(/^\([^&()@]+\)/) ||
							v.$re(/^[\.#:](?=@)/) ||
							this.entities.variableCurly();
					if (
						(n ||
							(v.save(),
							v.$char("(")
								? (e = this.selector(!1)) && v.$char(")")
									? ((n = new k.Paren(e)), v.forget())
									: v.restore("Missing closing ')'")
								: v.forget()),
						n)
					)
						return new k.Element(i, n, n instanceof k.Variable, t, d);
				},
				combinator: function () {
					var e = v.currentChar();
					if ("/" === e) {
						v.save();
						var t = v.$re(/^\/[a-z]+\//i);
						if (t) return (v.forget(), new k.Combinator(t));
						v.restore();
					}
					if (">" !== e && "+" !== e && "~" !== e && "|" !== e && "^" !== e)
						return v.isWhitespace(-1) ? new k.Combinator(" ") : new k.Combinator(null);
					for (
						v.i++, "^" === e && "^" === v.currentChar() && ((e = "^^"), v.i++);
						v.isWhitespace();

					)
						v.i++;
					return new k.Combinator(e);
				},
				selector: function (e) {
					var t,
						i,
						n,
						r,
						s,
						o,
						a,
						l = v.i;
					for (
						e = !1 !== e;
						((e && (i = this.extend())) ||
							(e && (o = v.$str("when"))) ||
							(r = this.element())) &&
						(o
							? (a = u(this.conditions, "expected condition"))
							: a
								? g("CSS guard can only be used at the end of selector")
								: i
									? (s = s ? s.concat(i) : i)
									: (s && g("Extend can only be used at the end of selector"),
										(n = v.currentChar()),
										t ? t.push(r) : (t = [r]),
										(r = null)),
						"{" !== n) &&
						"}" !== n &&
						";" !== n &&
						"," !== n &&
						")" !== n;

					);
					if (t) return new k.Selector(t, s, a, l, d);
					s &&
						g("Extend must be used to extend a selector, it cannot be used on its own");
				},
				selectors: function () {
					for (
						var e, t;
						(e = this.selector()) &&
						(t ? t.push(e) : (t = [e]),
						(v.commentStore.length = 0),
						e.condition &&
							1 < t.length &&
							g("Guards are only currently allowed on a single selector."),
						v.$char(","));

					)
						(e.condition &&
							g("Guards are only currently allowed on a single selector."),
							(v.commentStore.length = 0));
					return t;
				},
				attribute: function () {
					var e, t, i, n, r;
					if (v.$char("["))
						return (
							(n =
								(n = (e = this.entities).variableCurly()) ||
								u(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)),
							(r = v.$re(/^[|~*$^]?=/)) &&
								(t =
									e.quoted() ||
									v.$re(/^[0-9]+%/) ||
									v.$re(/^[\w-]+/) ||
									e.variableCurly()) &&
								(i = v.$re(/^[iIsS]/)),
							l("]"),
							new k.Attribute(n, r, t, i)
						);
				},
				block: function () {
					var e;
					if (v.$char("{") && (e = this.primary()) && v.$char("}")) return e;
				},
				blockRuleset: function () {
					var e = this.block();
					return (e = e && new k.Ruleset(null, e));
				},
				detachedRuleset: function () {
					var e, t, i;
					if (
						(v.save(),
						!v.$re(/^[.#]\(/) ||
							((e = (t = this.mixin.args(!1)).args), (t = t.variadic), v.$char(")")))
					)
						return (i = this.blockRuleset())
							? (v.forget(),
								e
									? new k.mixin.Definition(null, e, i, null, t)
									: new k.DetachedRuleset(i))
							: void v.restore();
					v.restore();
				},
				ruleset: function () {
					var e, t, i;
					if (
						(v.save(),
						f.dumpLineNumbers && (t = c(v.i)),
						(i = this.selectors()) && (e = this.block()))
					)
						return (
							v.forget(),
							(i = new k.Ruleset(i, e, f.strictImports)),
							f.dumpLineNumbers && (i.debugInfo = t),
							i
						);
					v.restore();
				},
				declaration: function () {
					var e,
						t,
						i,
						n,
						r,
						s = v.i,
						o = v.currentChar();
					if ("." !== o && "#" !== o && "&" !== o && ":" !== o) {
						if ((v.save(), (o = this.variable() || this.ruleProperty()))) {
							if (
								((r = "string" == typeof o) &&
									(e = this.detachedRuleset()) &&
									(t = !0),
								(v.commentStore.length = 0),
								!e)
							) {
								if (
									((n = !r && 1 < o.length && o.pop().value),
									(e =
										o[0].value && "--" === o[0].value.slice(0, 2)
											? this.permissiveValue()
											: this.anonymousValue()))
								)
									return (v.forget(), new k.Declaration(o, e, !1, n, s, d));
								(e = e || this.value())
									? (i = this.important())
									: r && (e = this.permissiveValue());
							}
							if (e && (this.end() || t))
								return (v.forget(), new k.Declaration(o, e, i, n, s, d));
						}
						v.restore();
					}
				},
				anonymousValue: function () {
					var e = v.i,
						t = v.$re(/^([^.#@\$+\/'"*`(;{}-]*);/);
					if (t) return new k.Anonymous(t[1], e);
				},
				permissiveValue: function (e) {
					var t,
						i,
						n = e || ";",
						r = v.i,
						s = [];
					function o() {
						var e = v.currentChar();
						return "string" == typeof n ? e === n : n.test(e);
					}
					if (!o()) {
						for (i = []; (t = (t = this.comment()) || this.entity()) && i.push(t), t; );
						if (((e = o()), 0 < i.length)) {
							if (((i = new k.Expression(i)), e)) return i;
							(s.push(i), " " === v.prevChar() && s.push(new k.Anonymous(" ", r)));
						}
						if ((v.save(), (i = v.$parseUntil(n)))) {
							if (
								("string" == typeof i && g("Expected '" + i + "'", "Parse"),
								1 === i.length && " " === i[0])
							)
								return (v.forget(), new k.Anonymous("", r));
							for (var a = void 0, l = 0; l < i.length; l++) {
								var u,
									a = i[l];
								Array.isArray(a)
									? s.push(new k.Quoted(a[0], a[1], !0, r, d))
									: (l === i.length - 1 && (a = a.trim()),
										((u = new k.Quoted("'", a, !0, r, d)).variableRegex =
											/@([\w-]+)/g),
										(u.propRegex = /\$([\w-]+)/g),
										s.push(u));
							}
							return (v.forget(), new k.Expression(s, !0));
						}
						v.restore();
					}
				},
				import: function () {
					var e,
						t,
						i = v.i,
						n = v.$re(/^@import\s+/);
					if (n) {
						n = (n ? this.importOptions() : null) || {};
						if ((e = this.entities.quoted() || this.entities.url()))
							return (
								(t = this.mediaFeatures()),
								v.$char(";") ||
									((v.i = i),
									g(
										"missing semi-colon or unrecognised media features on import"
									)),
								(t = t && new k.Value(t)),
								new k.Import(e, t, n, i, d)
							);
						((v.i = i), g("malformed import statement"));
					}
				},
				importOptions: function () {
					var e,
						t,
						i,
						n = {};
					if (!v.$char("(")) return null;
					do {
						if ((e = this.importOption())) {
							switch (((i = !0), (t = e))) {
								case "css":
									i = !(t = "less");
									break;
								case "once":
									i = !(t = "multiple");
							}
							if (((n[t] = i), !v.$char(","))) break;
						}
					} while (e);
					return (l(")"), n);
				},
				importOption: function () {
					var e = v.$re(/^(less|css|multiple|once|inline|reference|optional)/);
					if (e) return e[1];
				},
				mediaFeature: function () {
					var e,
						t,
						i = this.entities,
						n = [];
					for (
						v.save();
						(e = i.keyword() || i.variable() || i.mixinLookup())
							? n.push(e)
							: v.$char("(") &&
								((t = this.property()),
								(e = this.value()),
								v.$char(")")
									? t && e
										? n.push(
												new k.Paren(
													new k.Declaration(t, e, null, null, v.i, d, !0)
												)
											)
										: e
											? n.push(new k.Paren(e))
											: g("badly formed media feature definition")
									: g("Missing closing ')'", "Parse")),
							e;

					);
					if ((v.forget(), 0 < n.length)) return new k.Expression(n);
				},
				mediaFeatures: function () {
					var e,
						t = this.entities,
						i = [];
					do {
						if ((e = this.mediaFeature())) {
							if ((i.push(e), !v.$char(","))) break;
						} else if (
							(e = t.variable() || t.mixinLookup()) &&
							(i.push(e), !v.$char(","))
						)
							break;
					} while (e);
					return 0 < i.length ? i : null;
				},
				media: function () {
					var e,
						t,
						i,
						n = v.i;
					if ((f.dumpLineNumbers && (i = c(n)), v.save(), v.$str("@media")))
						return (
							(e = this.mediaFeatures()),
							(t = this.block()) ||
								g("media definitions require block statements after any features"),
							v.forget(),
							(t = new k.Media(t, e, n, d)),
							f.dumpLineNumbers && (t.debugInfo = i),
							t
						);
					v.restore();
				},
				plugin: function () {
					var e,
						t,
						i = v.i;
					if (v.$re(/^@plugin\s+/)) {
						if (
							((t = (t = this.pluginArgs())
								? { pluginArgs: t, isPlugin: !0 }
								: { isPlugin: !0 }),
							(e = this.entities.quoted() || this.entities.url()))
						)
							return (
								v.$char(";") || ((v.i = i), g("missing semi-colon on @plugin")),
								new k.Import(e, null, t, i, d)
							);
						((v.i = i), g("malformed @plugin statement"));
					}
				},
				pluginArgs: function () {
					var e;
					return (
						v.save(),
						v.$char("(") && (e = v.$re(/^\s*([^\);]+)\)\s*/))[1]
							? (v.forget(), e[1].trim())
							: (v.restore(), null)
					);
				},
				atrule: function () {
					var e,
						t,
						i,
						n,
						r,
						s,
						o,
						a = v.i,
						l = !0,
						u = !0;
					if ("@" === v.currentChar()) {
						if ((t = this.import() || this.plugin() || this.media())) return t;
						if ((v.save(), (e = v.$re(/^@[a-z-]+/)))) {
							switch (
								(n =
									"-" == (n = e).charAt(1) && 0 < e.indexOf("-", 2)
										? "@" + e.slice(e.indexOf("-", 2) + 1)
										: n)
							) {
								case "@charset":
									l = !(r = !0);
									break;
								case "@namespace":
									l = !(s = !0);
									break;
								case "@keyframes":
								case "@counter-style":
									r = !0;
									break;
								case "@document":
								case "@supports":
									u = !(o = !0);
									break;
								default:
									o = !0;
							}
							if (
								((v.commentStore.length = 0),
								r
									? (t = this.entity()) || g("expected " + e + " identifier")
									: s
										? (t = this.expression()) ||
											g("expected " + e + " expression")
										: o &&
											((t = this.permissiveValue(/^[{;]/)),
											(l = "{" === v.currentChar()),
											t
												? t.value || (t = null)
												: l ||
													";" === v.currentChar() ||
													g(
														e +
															" rule is missing block or ending semi-colon"
													)),
								(i = l ? this.blockRuleset() : i) || (!l && t && v.$char(";")))
							)
								return (
									v.forget(),
									new k.AtRule(e, t, i, a, d, f.dumpLineNumbers ? c(a) : null, u)
								);
							v.restore("at-rule options not recognised");
						}
					}
				},
				value: function () {
					var e,
						t = [],
						i = v.i;
					do {
						if ((e = this.expression()) && (t.push(e), !v.$char(","))) break;
					} while (e);
					if (0 < t.length) return new k.Value(t, i);
				},
				important: function () {
					if ("!" === v.currentChar()) return v.$re(/^! *important/);
				},
				sub: function () {
					var e;
					if ((v.save(), v.$char("(")))
						return (e = this.addition()) && v.$char(")")
							? (v.forget(), ((e = new k.Expression([e])).parens = !0), e)
							: void v.restore("Expected ')'");
					v.restore();
				},
				multiplication: function () {
					var e,
						t,
						i,
						n,
						r = this.operand();
					if (r) {
						for (n = v.isWhitespace(-1); ; ) {
							if (v.peek(/^\/[*\/]/)) break;
							if ((v.save(), !(t = v.$char("/") || v.$char("*") || v.$str("./")))) {
								v.forget();
								break;
							}
							if (!(e = this.operand())) {
								v.restore();
								break;
							}
							(v.forget(),
								(r.parensInOp = !0),
								(e.parensInOp = !0),
								(i = new k.Operation(t, [i || r, e], n)),
								(n = v.isWhitespace(-1)));
						}
						return i || r;
					}
				},
				addition: function () {
					var e,
						t,
						i,
						n,
						r = this.multiplication();
					if (r) {
						for (n = v.isWhitespace(-1); ; ) {
							if (!(t = v.$re(/^[-+]\s+/) || (!n && (v.$char("+") || v.$char("-")))))
								break;
							if (!(e = this.multiplication())) break;
							((r.parensInOp = !0),
								(e.parensInOp = !0),
								(i = new k.Operation(t, [i || r, e], n)),
								(n = v.isWhitespace(-1)));
						}
						return i || r;
					}
				},
				conditions: function () {
					var e,
						t,
						i = v.i,
						n = this.condition(!0);
					if (n) {
						for (;;) {
							if (!v.peek(/^,\s*(not\s*)?\(/) || !v.$char(",")) break;
							if (!(e = this.condition(!0))) break;
							t = new k.Condition("or", t || n, e, i);
						}
						return t || n;
					}
				},
				condition: function (e) {
					var t, i;
					if ((t = this.conditionAnd(e))) {
						if ((i = v.$str("or"))) {
							if (!(e = this.condition(e))) return;
							t = new k.Condition(i, t, e);
						}
						return t;
					}
				},
				conditionAnd: function (e) {
					var t,
						i = this;
					if (
						(t =
							(t = i.negatedCondition(e) || i.parenthesisCondition(e)) || e
								? t
								: i.atomicCondition(e))
					) {
						if ((i = v.$str("and"))) {
							if (!(e = this.conditionAnd(e))) return;
							t = new k.Condition(i, t, e);
						}
						return t;
					}
				},
				negatedCondition: function (e) {
					if (v.$str("not"))
						return ((e = this.parenthesisCondition(e)) && (e.negate = !e.negate), e);
				},
				parenthesisCondition: function (t) {
					var e;
					if ((v.save(), v.$str("("))) {
						if (
							(e = (e => {
								if ((v.save(), (e = e.condition(t)) && v.$char(")")))
									return (v.forget(), e);
								v.restore();
							})(this))
						)
							return (v.forget(), e);
						if ((e = this.atomicCondition(t))) {
							if (v.$char(")")) return (v.forget(), e);
							v.restore("expected ')' got '" + v.currentChar() + "'");
						} else v.restore();
					} else v.restore();
				},
				atomicCondition: function (e) {
					var t,
						i,
						n,
						r,
						s = this.entities,
						o = v.i;
					function a() {
						return this.addition() || s.keyword() || s.quoted() || s.mixinLookup();
					}
					if ((t = (a = a.bind(this))()))
						return (
							v.$char(">")
								? (r = v.$char("=") ? ">=" : ">")
								: v.$char("<")
									? (r = v.$char("=") ? "<=" : "<")
									: v.$char("=") &&
										(r = v.$char(">") ? "=>" : v.$char("<") ? "=<" : "="),
							r
								? (i = a())
									? (n = new k.Condition(r, t, i, o, !1))
									: g("expected expression")
								: (n = new k.Condition("=", t, new k.Keyword("true"), o, !1)),
							n
						);
				},
				operand: function () {
					var e,
						t = this.entities,
						t =
							(v.peek(/^-[@\$\(]/) && (e = v.$char("-")),
							this.sub() ||
								t.dimension() ||
								t.color() ||
								t.variable() ||
								t.property() ||
								t.call() ||
								t.quoted(!0) ||
								t.colorKeyword() ||
								t.mixinLookup());
					return (e && ((t.parensInOp = !0), (t = new k.Negative(t))), t);
				},
				expression: function () {
					for (
						var e, t, i = [], n = v.i;
						(e = this.comment())
							? i.push(e)
							: (e =
									(e = this.addition() || this.entity()) instanceof k.Comment
										? null
										: e) &&
								(i.push(e),
								v.peek(/^\/[\/*]/) ||
									((t = v.$char("/")) && i.push(new k.Anonymous(t, n)))),
							e;

					);
					if (0 < i.length) return new k.Expression(i);
				},
				property: function () {
					var e = v.$re(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/);
					if (e) return e[1];
				},
				ruleProperty: function () {
					var e,
						t,
						i = [],
						n = [],
						r = (v.save(), v.$re(/^([_a-zA-Z0-9-]+)\s*:/));
					if (r) return ((i = [new k.Keyword(r[1])]), v.forget(), i);
					function s(e) {
						var t = v.i,
							e = v.$re(e);
						return e && (n.push(t), i.push(e[1]));
					}
					for (s(/^(\*?)/); ; ) if (!s(/^((?:[\w-]+)|(?:[@\$]\{[\w-]+\}))/)) break;
					if (1 < i.length && s(/^((?:\+_|\+)?)\s*:/)) {
						for (
							v.forget(), "" === i[0] && (i.shift(), n.shift()), t = 0;
							t < i.length;
							t++
						)
							((e = i[t]),
								(i[t] =
									"@" !== e.charAt(0) && "$" !== e.charAt(0)
										? new k.Keyword(e)
										: "@" === e.charAt(0)
											? new k.Variable("@" + e.slice(2, -1), n[t], d)
											: new k.Property("$" + e.slice(2, -1), n[t], d)));
						return i;
					}
					v.restore();
				}
			})
		};
	};
	function rt(e, t, i, n) {
		return t.eval(e) ? i.eval(e) : n ? n.eval(e) : new h();
	}
	function st(e, t) {
		try {
			return (t.eval(e), u.True);
		} catch (e) {
			return u.False;
		}
	}
	((nt.serializeVars = function (e) {
		var t,
			i,
			n = "";
		for (t in e)
			Object.hasOwnProperty.call(e, t) &&
				((i = e[t]),
				(n +=
					("@" === t[0] ? "" : "@") +
					t +
					": " +
					i +
					(";" === String(i).slice(-1) ? "" : ";")));
		return n;
	}),
		(st.evalArgs = rt.evalArgs = !1));
	var ot = {
		isdefined: st,
		boolean: function (e) {
			return e ? u.True : u.False;
		},
		if: rt
	};
	function A(e) {
		return Math.min(1, Math.max(0, e));
	}
	function at(e, t) {
		t = F.hsla(t.h, t.s, t.l, t.a);
		if (t)
			return (
				e.value && /^(rgb|hsl)/.test(e.value) ? (t.value = e.value) : (t.value = "rgb"),
				t
			);
	}
	function M(e) {
		if (e.toHSL) return e.toHSL();
		throw new Error("Argument cannot be evaluated to a color");
	}
	function lt(e) {
		if (e.toHSV) return e.toHSV();
		throw new Error("Argument cannot be evaluated to a color");
	}
	function O(e) {
		if (e instanceof p) return parseFloat(e.unit.is("%") ? e.value / 100 : e.value);
		if ("number" == typeof e) return e;
		throw { type: "Argument", message: "color functions take numbers as parameters" };
	}
	var F,
		ut = (F = {
			rgb: function (e, t, i) {
				var n = 1,
					r =
						(e instanceof m &&
							((e = (r = e.value)[0]), (t = r[1]), (i = r[2]) instanceof s) &&
							((i = (r = i).operands[0]), (n = r.operands[1])),
						F.rgba(e, t, i, n));
				if (r) return ((r.value = "rgb"), r);
			},
			rgba: function (e, t, i, n) {
				try {
					var r;
					return e instanceof f
						? ((n = t ? O(t) : e.alpha), new f(e.rgb, n, "rgba"))
						: ((r = [e, t, i].map(function (e) {
								return (
									(t = 255),
									(e = e) instanceof p && e.unit.is("%")
										? parseFloat((e.value * t) / 100)
										: O(e)
								);
								var t;
							})),
							(n = O(n)),
							new f(r, n, "rgba"));
				} catch (e) {}
			},
			hsl: function (e, t, i) {
				var n = 1,
					r =
						(e instanceof m &&
							((e = (r = e.value)[0]), (t = r[1]), (i = r[2]) instanceof s) &&
							((i = (r = i).operands[0]), (n = r.operands[1])),
						F.hsla(e, t, i, n));
				if (r) return ((r.value = "hsl"), r);
			},
			hsla: function (e, t, i, n) {
				try {
					if (e instanceof f) return ((n = t ? O(t) : e.alpha), new f(e.rgb, n, "hsla"));
					function r(e) {
						return 6 * (e = e < 0 ? e + 1 : 1 < e ? e - 1 : e) < 1
							? o + (s - o) * e * 6
							: 2 * e < 1
								? s
								: 3 * e < 2
									? o + (s - o) * (2 / 3 - e) * 6
									: o;
					}
					((e = (O(e) % 360) / 360), (t = A(O(t))), (i = A(O(i))), (n = A(O(n))));
					var s,
						o = 2 * i - (s = i <= 0.5 ? i * (t + 1) : i + t - i * t),
						a = [255 * r(e + 1 / 3), 255 * r(e), 255 * r(e - 1 / 3)];
					return ((n = O(n)), new f(a, n, "hsla"));
				} catch (e) {}
			},
			hsv: function (e, t, i) {
				return F.hsva(e, t, i, 1);
			},
			hsva: function (e, t, i, n) {
				((e = ((O(e) % 360) / 360) * 360), (t = O(t)), (i = O(i)), (n = O(n)));
				var i = [
						i,
						i * (1 - t),
						i * (1 - (r = e / 60 - (e = Math.floor((e / 60) % 6))) * t),
						i * (1 - (1 - r) * t)
					],
					r = [
						[0, 3, 1],
						[2, 0, 1],
						[1, 0, 3],
						[1, 2, 0],
						[3, 1, 0],
						[0, 1, 2]
					];
				return F.rgba(255 * i[r[e][0]], 255 * i[r[e][1]], 255 * i[r[e][2]], n);
			},
			hue: function (e) {
				return new p(M(e).h);
			},
			saturation: function (e) {
				return new p(100 * M(e).s, "%");
			},
			lightness: function (e) {
				return new p(100 * M(e).l, "%");
			},
			hsvhue: function (e) {
				return new p(lt(e).h);
			},
			hsvsaturation: function (e) {
				return new p(100 * lt(e).s, "%");
			},
			hsvvalue: function (e) {
				return new p(100 * lt(e).v, "%");
			},
			red: function (e) {
				return new p(e.rgb[0]);
			},
			green: function (e) {
				return new p(e.rgb[1]);
			},
			blue: function (e) {
				return new p(e.rgb[2]);
			},
			alpha: function (e) {
				return new p(M(e).a);
			},
			luma: function (e) {
				return new p(e.luma() * e.alpha * 100, "%");
			},
			luminance: function (e) {
				var t =
					(0.2126 * e.rgb[0]) / 255 +
					(0.7152 * e.rgb[1]) / 255 +
					(0.0722 * e.rgb[2]) / 255;
				return new p(t * e.alpha * 100, "%");
			},
			saturate: function (e, t, i) {
				var n;
				return e.rgb
					? ((n = M(e)),
						void 0 !== i && "relative" === i.value
							? (n.s += (n.s * t.value) / 100)
							: (n.s += t.value / 100),
						(n.s = A(n.s)),
						at(e, n))
					: null;
			},
			desaturate: function (e, t, i) {
				var n = M(e);
				return (
					void 0 !== i && "relative" === i.value
						? (n.s -= (n.s * t.value) / 100)
						: (n.s -= t.value / 100),
					(n.s = A(n.s)),
					at(e, n)
				);
			},
			lighten: function (e, t, i) {
				var n = M(e);
				return (
					void 0 !== i && "relative" === i.value
						? (n.l += (n.l * t.value) / 100)
						: (n.l += t.value / 100),
					(n.l = A(n.l)),
					at(e, n)
				);
			},
			darken: function (e, t, i) {
				var n = M(e);
				return (
					void 0 !== i && "relative" === i.value
						? (n.l -= (n.l * t.value) / 100)
						: (n.l -= t.value / 100),
					(n.l = A(n.l)),
					at(e, n)
				);
			},
			fadein: function (e, t, i) {
				var n = M(e);
				return (
					void 0 !== i && "relative" === i.value
						? (n.a += (n.a * t.value) / 100)
						: (n.a += t.value / 100),
					(n.a = A(n.a)),
					at(e, n)
				);
			},
			fadeout: function (e, t, i) {
				var n = M(e);
				return (
					void 0 !== i && "relative" === i.value
						? (n.a -= (n.a * t.value) / 100)
						: (n.a -= t.value / 100),
					(n.a = A(n.a)),
					at(e, n)
				);
			},
			fade: function (e, t) {
				var i = M(e);
				return ((i.a = t.value / 100), (i.a = A(i.a)), at(e, i));
			},
			spin: function (e, t) {
				var i = M(e),
					t = (i.h + t.value) % 360;
				return ((i.h = t < 0 ? 360 + t : t), at(e, i));
			},
			mix: function (e, t, i) {
				var i = (i = i || new p(50)).value / 100,
					n = 2 * i - 1,
					r = M(e).a - M(t).a,
					n = (1 + (n * r == -1 ? n : (n + r) / (1 + n * r))) / 2,
					r = 1 - n,
					n = [
						e.rgb[0] * n + t.rgb[0] * r,
						e.rgb[1] * n + t.rgb[1] * r,
						e.rgb[2] * n + t.rgb[2] * r
					];
				return new f(n, e.alpha * i + t.alpha * (1 - i));
			},
			greyscale: function (e) {
				return F.desaturate(e, new p(100));
			},
			contrast: function (e, t, i, n) {
				var r;
				return e.rgb
					? (void 0 === i && (i = F.rgba(255, 255, 255, 1)),
						(t = void 0 === t ? F.rgba(0, 0, 0, 1) : t).luma() > i.luma() &&
							((r = i), (i = t), (t = r)),
						(n = void 0 === n ? 0.43 : O(n)),
						e.luma() < n ? i : t)
					: null;
			},
			argb: function (e) {
				return new h(e.toARGB());
			},
			color: function (e) {
				var t;
				if (
					e instanceof d &&
					/^#([A-Fa-f0-9]{8}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3,4})$/i.test(e.value)
				)
					return ((t = e.value.slice(1)), new f(t, void 0, "#" + t));
				if (e instanceof f || (e = f.fromKeyword(e.value))) return ((e.value = void 0), e);
				throw {
					type: "Argument",
					message: "argument must be a color keyword or 3|4|6|8 digit hex e.g. #FFF"
				};
			},
			shade: function (e, t) {
				return F.mix(F.rgb(0, 0, 0), e, t);
			}
		});
	function ct(e, t, i) {
		for (var n, r, s, o = t.alpha, a = i.alpha, l = [], u = a + o * (1 - a), c = 0; c < 3; c++)
			((s = e((n = t.rgb[c] / 255), (r = i.rgb[c] / 255))),
				(l[c] = 255 * (s = u ? (a * r + o * (n - a * (n + r - s))) / u : s)));
		return new f(l, u);
	}
	var ht,
		ft = {
			multiply: function (e, t) {
				return e * t;
			},
			screen: function (e, t) {
				return e + t - e * t;
			},
			overlay: function (e, t) {
				return (e *= 2) <= 1 ? ft.multiply(e, t) : ft.screen(e - 1, t);
			},
			softlight: function (e, t) {
				var i = 1,
					n = e;
				return (
					0.5 < t &&
						((n = 1), (i = 0.25 < e ? Math.sqrt(e) : ((16 * e - 12) * e + 4) * e)),
					e - (1 - 2 * t) * n * (i - e)
				);
			},
			hardlight: function (e, t) {
				return ft.overlay(t, e);
			},
			difference: function (e, t) {
				return Math.abs(e - t);
			},
			exclusion: function (e, t) {
				return e + t - 2 * e * t;
			},
			average: function (e, t) {
				return (e + t) / 2;
			},
			negation: function (e, t) {
				return 1 - Math.abs(e + t - 1);
			}
		};
	for (ht in ft) ft.hasOwnProperty(ht) && (ct[ht] = ct.bind(null, ft[ht]));
	function pt(e) {
		return Array.isArray(e.value) ? e.value : Array(e);
	}
	function dt(e, t, i) {
		if (i instanceof p)
			return (null == t ? (t = i.unit) : (i = i.unify()), new p(e(parseFloat(i.value)), t));
		throw { type: "Argument", message: "argument must be a number" };
	}
	var mt,
		vt = function (c) {
			function h(e, t) {
				return new v(t, e.index, e.currentFileInfo).eval(e.context);
			}
			return {
				"data-uri": function (e, t) {
					t || ((t = e), (e = null));
					var i,
						n,
						r = e && e.value,
						s = t.value,
						o = this.currentFileInfo,
						o = o.rewriteUrls ? o.currentDirectory : o.entryPath,
						a = s.indexOf("#"),
						l = "",
						a = (-1 !== a && ((l = s.slice(a)), (s = s.slice(0, a))), ee(this.context)),
						u = ((a.rawBuffer = !0), c.getFileManager(s, o, a, c, !0));
					return u
						? ((i = !1),
							e
								? (i = /;base64$/.test(r))
								: (i =
										"image/svg+xml" !== (r = c.mimeLookup(s)) &&
										((n = c.charsetLookup(r)),
										["US-ASCII", "UTF-8"].indexOf(n) < 0)) && (r += ";base64"),
							(n = u.loadFileSync(s, o, a, c)).contents
								? ((u = n.contents),
									i && !c.encodeBase64
										? h(this, t)
										: ((o =
												"data:" +
												r +
												"," +
												(u = i
													? c.encodeBase64(u)
													: encodeURIComponent(u)) +
												l),
											new v(
												new d(
													'"' + o + '"',
													o,
													!1,
													this.index,
													this.currentFileInfo
												),
												this.index,
												this.currentFileInfo
											)))
								: (D.warn(
										"Skipped data-uri embedding of " +
											s +
											" because file not found"
									),
									h(this, t || e)))
						: h(this, t);
				}
			};
		},
		gt = {
			_SELF: function (e) {
				return e;
			},
			"~": function () {
				for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
				return 1 === e.length ? e[0] : new l(e);
			},
			extract: function (e, t) {
				return ((t = t.value - 1), pt(e)[t]);
			},
			length: function (e) {
				return new p(pt(e).length);
			},
			range: function (e, t, i) {
				var n,
					r,
					s = 1,
					o = [];
				t ? ((r = t), (n = e.value), i && (s = i.value)) : ((n = 1), (r = e));
				for (var a = n; a <= r.value; a += s) o.push(new p(a, r.unit));
				return new m(o);
			},
			each: function (e, t) {
				function i(e) {
					return e instanceof g ? e.eval(n.context) : e;
				}
				var n = this,
					r = [],
					s =
						!e.value || e instanceof d
							? e.ruleset
								? i(e.ruleset).rules
								: e.rules
									? e.rules.map(i)
									: Array.isArray(e)
										? e.map(i)
										: [i(e)]
							: Array.isArray(e.value)
								? e.value.map(i)
								: [i(e.value)],
					o = "@value",
					a = "@key",
					l = "@index";
				t = t.params
					? ((o = t.params[0] && t.params[0].name),
						(a = t.params[1] && t.params[1].name),
						(l = t.params[2] && t.params[2].name),
						t.rules)
					: t.ruleset;
				for (var u = 0; u < s.length; u++) {
					var c = void 0,
						h = void 0,
						f = s[u],
						h =
							f instanceof b
								? ((c = "string" == typeof f.name ? f.name : f.name[0].value),
									f.value)
								: ((c = new p(u + 1)), f);
					f instanceof ce ||
						((f = t.rules.slice(0)),
						o && f.push(new b(o, h, !1, !1, this.index, this.currentFileInfo)),
						l &&
							f.push(
								new b(l, new p(u + 1), !1, !1, this.index, this.currentFileInfo)
							),
						a && f.push(new b(a, c, !1, !1, this.index, this.currentFileInfo)),
						r.push(
							new w([new R([new E("", "&")])], f, t.strictImports, t.visibilityInfo())
						));
				}
				return new w(
					[new R([new E("", "&")])],
					r,
					t.strictImports,
					t.visibilityInfo()
				).eval(this.context);
			}
		},
		yt = {
			ceil: null,
			floor: null,
			sqrt: null,
			abs: null,
			tan: "",
			sin: "",
			cos: "",
			atan: "rad",
			asin: "rad",
			acos: "rad"
		};
	for (mt in yt) yt.hasOwnProperty(mt) && (yt[mt] = dt.bind(null, Math[mt], yt[mt]));
	yt.round = function (e, t) {
		var i = void 0 === t ? 0 : t.value;
		return dt(
			function (e) {
				return e.toFixed(i);
			},
			null,
			e
		);
	};
	function bt(e, t) {
		if (0 === (t = Array.prototype.slice.call(t)).length)
			throw { type: "Argument", message: "one or more arguments required" };
		for (var i, n, r, s, o, a, l = [], u = {}, c = 0; c < t.length; c++)
			if ((n = t[c]) instanceof p)
				if (
					((o =
						("" !==
							(s =
								"" ===
									(r = (
										"" === n.unit.toString() && void 0 !== a
											? new p(n.value, a)
											: n
									).unify()).unit.toString() && void 0 !== o
									? o
									: r.unit.toString()) &&
							void 0 === o) ||
						("" !== s && "" === l[0].unify().unit.toString())
							? s
							: o),
					(a = "" !== s && void 0 === a ? n.unit.toString() : a),
					void 0 === (i = void 0 !== u[""] && "" !== s && s === o ? u[""] : u[s]))
				) {
					if (void 0 !== o && s !== o)
						throw { type: "Argument", message: "incompatible types" };
					((u[s] = l.length), l.push(n));
				} else
					((s = (
						"" === l[i].unit.toString() && void 0 !== a ? new p(l[i].value, a) : l[i]
					).unify()),
						((e && r.value < s.value) || (!e && r.value > s.value)) && (l[i] = n));
			else
				Array.isArray(t[c].value) &&
					Array.prototype.push.apply(t, Array.prototype.slice.call(t[c].value));
		return 1 == l.length
			? l[0]
			: ((t = l
					.map(function (e) {
						return e.toCSS(this.context);
					})
					.join(this.context.compress ? "," : ", ")),
				new h((e ? "min" : "max") + "(" + t + ")"));
	}
	function wt(e, t) {
		return e instanceof t ? u.True : u.False;
	}
	function xt(e, t) {
		if (void 0 === t)
			throw { type: "Argument", message: "missing the required second argument to isunit." };
		if ("string" != typeof (t = "string" == typeof t.value ? t.value : t))
			throw {
				type: "Argument",
				message: "Second argument to isunit should be a unit or a string."
			};
		return e instanceof p && e.unit.is(t) ? u.True : u.False;
	}
	var St = {
			min: function () {
				for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
				try {
					return bt(!0, e);
				} catch (e) {}
			},
			max: function () {
				for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
				try {
					return bt(!1, e);
				} catch (e) {}
			},
			convert: function (e, t) {
				return e.convertTo(t.value);
			},
			pi: function () {
				return new p(Math.PI);
			},
			mod: function (e, t) {
				return new p(e.value % t.value, e.unit);
			},
			pow: function (e, t) {
				if ("number" == typeof e && "number" == typeof t) ((e = new p(e)), (t = new p(t)));
				else if (!(e instanceof p && t instanceof p))
					throw { type: "Argument", message: "arguments must be numbers" };
				return new p(Math.pow(e.value, t.value), e.unit);
			},
			percentage: function (e) {
				return dt(
					function (e) {
						return 100 * e;
					},
					"%",
					e
				);
			}
		},
		It = {
			e: function (e) {
				return new d('"', e instanceof Pe ? e.evaluated : e.value, !0);
			},
			escape: function (e) {
				return new h(
					encodeURI(e.value)
						.replace(/=/g, "%3D")
						.replace(/:/g, "%3A")
						.replace(/#/g, "%23")
						.replace(/;/g, "%3B")
						.replace(/\(/g, "%28")
						.replace(/\)/g, "%29")
				);
			},
			replace: function (e, t, i, n) {
				var r = e.value;
				return (
					(i = "Quoted" === i.type ? i.value : i.toCSS()),
					(r = r.replace(new RegExp(t.value, n ? n.value : ""), i)),
					new d(e.quote || "", r, e.escaped)
				);
			},
			"%": function (e) {
				for (
					var n = Array.prototype.slice.call(arguments, 1), t = e.value, i = 0;
					i < n.length;
					i++
				)
					(i => {
						t = t.replace(/%[sda]/i, function (e) {
							var t =
								"Quoted" === n[i].type && e.match(/s/i) ? n[i].value : n[i].toCSS();
							return e.match(/[A-Z]$/) ? encodeURIComponent(t) : t;
						});
					})(i);
				return ((t = t.replace(/%%/g, "%")), new d(e.quote || "", t, e.escaped));
			}
		},
		Ct = function (e) {
			return {
				"svg-gradient": function (e) {
					var t,
						i,
						n,
						r,
						s,
						o,
						a,
						l = "linear",
						u = 'x="0" y="0" width="1" height="1"',
						c = { compress: !1 },
						e = e.toCSS(c);
					function h() {
						throw {
							type: "Argument",
							message:
								"svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position] or direction, color list"
						};
					}
					switch (
						(2 == arguments.length
							? (arguments[1].value.length < 2 && h(), (t = arguments[1].value))
							: arguments.length < 3
								? h()
								: (t = Array.prototype.slice.call(arguments, 1)),
						e)
					) {
						case "to bottom":
							i = 'x1="0%" y1="0%" x2="0%" y2="100%"';
							break;
						case "to right":
							i = 'x1="0%" y1="0%" x2="100%" y2="0%"';
							break;
						case "to bottom right":
							i = 'x1="0%" y1="0%" x2="100%" y2="100%"';
							break;
						case "to top right":
							i = 'x1="0%" y1="100%" x2="100%" y2="0%"';
							break;
						case "ellipse":
						case "ellipse at center":
							((l = "radial"),
								(i = 'cx="50%" cy="50%" r="75%"'),
								(u = 'x="-50" y="-50" width="101" height="101"'));
							break;
						default:
							throw {
								type: "Argument",
								message:
									"svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'"
							};
					}
					for (
						n =
							'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1"><' +
							l +
							'Gradient id="g" ' +
							i +
							">",
							r = 0;
						r < t.length;
						r += 1
					)
						((o =
							t[r] instanceof m
								? ((s = t[r].value[0]), t[r].value[1])
								: void (s = t[r])),
							(s instanceof f &&
								(((0 === r || r + 1 === t.length) && void 0 === o) ||
									o instanceof p)) ||
								h(),
							(o = o ? o.toCSS(c) : 0 === r ? "0%" : "100%"),
							(a = s.alpha),
							(n +=
								'<stop offset="' +
								o +
								'" stop-color="' +
								s.toRGB() +
								'"' +
								(a < 1 ? ' stop-opacity="' + a + '"' : "") +
								"/>"));
					return (
						(n += "</" + l + "Gradient><rect " + u + ' fill="url(#g)" /></svg>'),
						(n = encodeURIComponent(n)),
						new v(
							new d(
								"'" + (n = "data:image/svg+xml," + n) + "'",
								n,
								!1,
								this.index,
								this.currentFileInfo
							),
							this.index,
							this.currentFileInfo
						)
					);
				}
			};
		},
		kt = {
			isruleset: function (e) {
				return wt(e, ge);
			},
			iscolor: function (e) {
				return wt(e, f);
			},
			isnumber: function (e) {
				return wt(e, p);
			},
			isstring: function (e) {
				return wt(e, d);
			},
			iskeyword: function (e) {
				return wt(e, u);
			},
			isurl: function (e) {
				return wt(e, v);
			},
			ispixel: function (e) {
				return xt(e, "px");
			},
			ispercentage: function (e) {
				return xt(e, "%");
			},
			isem: function (e) {
				return xt(e, "em");
			},
			isunit: xt,
			unit: function (e, t) {
				if (e instanceof p)
					return (
						(t = t ? (t instanceof u ? t.value : t.toCSS()) : ""),
						new p(e.value, t)
					);
				throw {
					type: "Argument",
					message:
						"the first argument to unit must be a number" +
						(e instanceof s ? ". Have you forgotten parenthesis?" : "")
				};
			},
			"get-unit": function (e) {
				return new h(e.unit);
			}
		},
		_t = function (e) {
			var t = { functionRegistry: x, functionCaller: xe };
			return (
				x.addMultiple(ot),
				x.add("default", be.eval.bind(be)),
				x.addMultiple(ut),
				x.addMultiple(ct),
				x.addMultiple(vt(e)),
				x.addMultiple(gt),
				x.addMultiple(yt),
				x.addMultiple(St),
				x.addMultiple(It),
				x.addMultiple(Ct()),
				x.addMultiple(kt),
				t
			);
		};
	function At(e, t) {
		var i,
			n = (t = t || {}).variables,
			r = new C.Eval(t),
			s =
				("object" != typeof n ||
					Array.isArray(n) ||
					((n = Object.keys(n).map(function (e) {
						var t = n[e];
						return (
							t instanceof k.Value ||
								(t instanceof k.Expression || (t = new k.Expression([t])),
								(t = new k.Value([t]))),
							new k.Declaration("@" + e, t, !1, null, 0)
						);
					})),
					(r.frames = [new k.Ruleset(null, n)])),
				[
					new tt.JoinSelectorVisitor(),
					new tt.MarkVisibleSelectorsVisitor(!0),
					new tt.ExtendVisitor(),
					new tt.ToCSSVisitor({ compress: Boolean(t.compress) })
				]),
			o = [];
		if (t.pluginManager)
			for (var a = t.pluginManager.visitor(), l = 0; l < 2; l++)
				for (a.first(); (i = a.get()); )
					i.isPreEvalVisitor
						? (0 !== l && -1 !== o.indexOf(i)) || (o.push(i), i.run(e))
						: (0 !== l && -1 !== s.indexOf(i)) ||
							(i.isPreVisitor ? s.unshift(i) : s.push(i));
		for (var u = e.eval(r), l = 0; l < s.length; l++) s[l].run(u);
		if (t.pluginManager)
			for (a.first(); (i = a.get()); ) -1 === s.indexOf(i) && -1 === o.indexOf(i) && i.run(u);
		return u;
	}
	((V.prototype.addPlugins = function (e) {
		if (e) for (var t = 0; t < e.length; t++) this.addPlugin(e[t]);
	}),
		(V.prototype.addPlugin = function (e, t, i) {
			(this.installedPlugins.push(e),
				t && (this.pluginCache[t] = e),
				e.install && e.install(this.less, this, i || this.less.functions.functionRegistry));
		}),
		(V.prototype.get = function (e) {
			return this.pluginCache[e];
		}),
		(V.prototype.addVisitor = function (e) {
			this.visitors.push(e);
		}),
		(V.prototype.addPreProcessor = function (e, t) {
			for (
				var i = 0;
				i < this.preProcessors.length && !(this.preProcessors[i].priority >= t);
				i++
			);
			this.preProcessors.splice(i, 0, { preProcessor: e, priority: t });
		}),
		(V.prototype.addPostProcessor = function (e, t) {
			for (
				var i = 0;
				i < this.postProcessors.length && !(this.postProcessors[i].priority >= t);
				i++
			);
			this.postProcessors.splice(i, 0, { postProcessor: e, priority: t });
		}),
		(V.prototype.addFileManager = function (e) {
			this.fileManagers.push(e);
		}),
		(V.prototype.getPreProcessors = function () {
			for (var e = [], t = 0; t < this.preProcessors.length; t++)
				e.push(this.preProcessors[t].preProcessor);
			return e;
		}),
		(V.prototype.getPostProcessors = function () {
			for (var e = [], t = 0; t < this.postProcessors.length; t++)
				e.push(this.postProcessors[t].postProcessor);
			return e;
		}),
		(V.prototype.getVisitors = function () {
			return this.visitors;
		}),
		(V.prototype.visitor = function () {
			var e = this;
			return {
				first: function () {
					return ((e.iterator = -1), e.visitors[e.iterator]);
				},
				get: function () {
					return ((e.iterator += 1), e.visitors[e.iterator]);
				}
			};
		}),
		(V.prototype.getFileManagers = function () {
			return this.fileManagers;
		}));
	var Mt,
		Pt = V;
	function V(e) {
		((this.less = e),
			(this.visitors = []),
			(this.preProcessors = []),
			(this.postProcessors = []),
			(this.installedPlugins = []),
			(this.fileManagers = []),
			(this.iterator = -1),
			(this.pluginCache = {}),
			(this.Loader = new e.PluginLoader(e)));
	}
	var Et = function (e, t) {
		return (Mt = !t && Mt ? Mt : new Pt(e));
	};
	function Rt(e, t, c) {
		function h(e, r, i) {
			var n, s, t, o, a, l, u;
			if (
				((r =
					"function" == typeof r
						? ((i = r), ie(this.options, {}))
						: ie(this.options, r || {})),
				!i)
			)
				return (
					(u = this),
					new Promise(function (i, n) {
						h.call(u, e, r, function (e, t) {
							e ? n(e) : i(t);
						});
					})
				);
			((a = void 0),
				(s = new Et(this, !r.reUsePluginManager)),
				(r.pluginManager = s),
				(n = new C.Parse(r)),
				r.rootFileInfo
					? (a = r.rootFileInfo)
					: ((o = (t = r.filename || "input").replace(/[^\/\\]*$/, "")),
						(a = {
							filename: t,
							rewriteUrls: n.rewriteUrls,
							rootpath: n.rootpath || "",
							currentDirectory: o,
							entryPath: o,
							rootFilename: t
						}).rootpath &&
							"/" !== a.rootpath.slice(-1) &&
							(a.rootpath += "/")),
				(l = new c(this, n, a)),
				(this.importManager = l),
				r.plugins &&
					r.plugins.forEach(function (e) {
						var t;
						if (e.fileContent) {
							if (
								((t = e.fileContent.replace(/^\uFEFF/, "")),
								(t = s.Loader.evalPlugin(t, n, l, e.options, e.filename)) instanceof
									I)
							)
								return i(t);
						} else s.addPlugin(e);
					}),
				new nt(n, l, a).parse(
					e,
					function (e, t) {
						if (e) return i(e);
						i(null, t, l, r);
					},
					r
				));
		}
		return h;
	}
	function Ot(e, o) {
		function a(e, t, s) {
			var r;
			if (
				((t =
					"function" == typeof t
						? ((s = t), ie(this.options, {}))
						: ie(this.options, t || {})),
				!s)
			)
				return (
					(r = this),
					new Promise(function (i, n) {
						a.call(r, e, t, function (e, t) {
							e ? n(e) : i(t);
						});
					})
				);
			this.parse(e, t, function (e, t, i, n) {
				if (e) return s(e);
				try {
					var r = new o(t, i).toCSS(n);
				} catch (e) {
					return s(e);
				}
				s(null, r);
			});
		}
		return a;
	}
	var Ft = "4.1.3";
	var Vt,
		$t,
		Lt = function (e) {
			var t = e.match(
				/^v(\d{1,2})\.(\d{1,2})\.(\d{1,2})(?:-([0-9A-Za-z-.]+))?(?:\+([0-9A-Za-z-.]+))?$/
			);
			if (t)
				return {
					major: parseInt(t[1], 10),
					minor: parseInt(t[2], 10),
					patch: parseInt(t[3], 10),
					pre: t[4] || "",
					build: t[5] || ""
				};
			throw new Error("Unable to parse: " + e);
		};
	function jt(e, t) {
		var i, n, r, s, o, u, d;
		function a(e) {
			((this._css = []),
				(this._rootNode = e.rootNode),
				(this._contentsMap = e.contentsMap),
				(this._contentsIgnoredCharsMap = e.contentsIgnoredCharsMap),
				e.sourceMapFilename &&
					(this._sourceMapFilename = e.sourceMapFilename.replace(/\\/g, "/")),
				(this._outputFilename = e.outputFilename),
				(this.sourceMapURL = e.sourceMapURL),
				e.sourceMapBasepath &&
					(this._sourceMapBasepath = e.sourceMapBasepath.replace(/\\/g, "/")),
				e.sourceMapRootpath
					? ((this._sourceMapRootpath = e.sourceMapRootpath.replace(/\\/g, "/")),
						"/" !==
							this._sourceMapRootpath.charAt(this._sourceMapRootpath.length - 1) &&
							(this._sourceMapRootpath += "/"))
					: (this._sourceMapRootpath = ""),
				(this._outputSourceFiles = e.outputSourceFiles),
				(this._sourceMapGeneratorConstructor = r.getSourceMapGenerator()),
				(this._lineNumber = 0),
				(this._column = 0));
		}
		function l(e) {
			this.options = e;
		}
		function c(e, t) {
			((this.root = e), (this.imports = t));
		}
		function h(e, t, i) {
			((this.less = e),
				(this.rootFilename = i.filename),
				(this.paths = t.paths || []),
				(this.contents = {}),
				(this.contentsIgnoredChars = {}),
				(this.mime = t.mime),
				(this.error = null),
				(this.context = t),
				(this.queue = []),
				(this.files = {}));
		}
		((e = new B(e, t)),
			(r = e),
			(a.prototype.removeBasepath = function (e) {
				return (e =
					!this._sourceMapBasepath ||
					0 !== e.indexOf(this._sourceMapBasepath) ||
					("\\" !== (e = e.substring(this._sourceMapBasepath.length)).charAt(0) &&
						"/" !== e.charAt(0))
						? e
						: e.substring(1));
			}),
			(a.prototype.normalizeFilename = function (e) {
				return (
					(e = e.replace(/\\/g, "/")),
					(e = this.removeBasepath(e)),
					(this._sourceMapRootpath || "") + e
				);
			}),
			(a.prototype.add = function (e, t, i, n) {
				if (e) {
					var r, s, o, a;
					if (t && t.filename) {
						var l = this._contentsMap[t.filename];
						if (
							(this._contentsIgnoredCharsMap[t.filename] &&
								((i -= this._contentsIgnoredCharsMap[t.filename]) < 0 && (i = 0),
								(l = l.slice(this._contentsIgnoredCharsMap[t.filename]))),
							void 0 === l)
						)
							return void this._css.push(e);
						o = (s = (l = l.substring(0, i)).split("\n"))[s.length - 1];
					}
					if (((i = (r = e.split("\n"))[r.length - 1]), t && t.filename))
						if (n)
							for (a = 0; a < r.length; a++)
								this._sourceMapGenerator.addMapping({
									generated: {
										line: this._lineNumber + a + 1,
										column: 0 === a ? this._column : 0
									},
									original: {
										line: s.length + a,
										column: 0 === a ? o.length : 0
									},
									source: this.normalizeFilename(t.filename)
								});
						else
							this._sourceMapGenerator.addMapping({
								generated: { line: this._lineNumber + 1, column: this._column },
								original: { line: s.length, column: o.length },
								source: this.normalizeFilename(t.filename)
							});
					(1 === r.length
						? (this._column += i.length)
						: ((this._lineNumber += r.length - 1), (this._column = i.length)),
						this._css.push(e));
				}
			}),
			(a.prototype.isEmpty = function () {
				return 0 === this._css.length;
			}),
			(a.prototype.toCSS = function (e) {
				if (
					((this._sourceMapGenerator = new this._sourceMapGeneratorConstructor({
						file: this._outputFilename,
						sourceRoot: null
					})),
					this._outputSourceFiles)
				)
					for (var t in this._contentsMap) {
						var i;
						this._contentsMap.hasOwnProperty(t) &&
							((i = this._contentsMap[t]),
							this._contentsIgnoredCharsMap[t] &&
								(i = i.slice(this._contentsIgnoredCharsMap[t])),
							this._sourceMapGenerator.setSourceContent(
								this.normalizeFilename(t),
								i
							));
					}
				var n;
				return (
					this._rootNode.genCSS(e, this),
					0 < this._css.length &&
						((e = void 0),
						(n = JSON.stringify(this._sourceMapGenerator.toJSON())),
						this.sourceMapURL
							? (e = this.sourceMapURL)
							: this._sourceMapFilename && (e = this._sourceMapFilename),
						(this.sourceMapURL = e),
						(this.sourceMap = n)),
					this._css.join("")
				);
			}),
			(s = t = a),
			(o = e),
			(l.prototype.toCSS = function (e, t, i) {
				((e = new s({
					contentsIgnoredCharsMap: i.contentsIgnoredChars,
					rootNode: e,
					contentsMap: i.contents,
					sourceMapFilename: this.options.sourceMapFilename,
					sourceMapURL: this.options.sourceMapURL,
					outputFilename: this.options.sourceMapOutputFilename,
					sourceMapBasepath: this.options.sourceMapBasepath,
					sourceMapRootpath: this.options.sourceMapRootpath,
					outputSourceFiles: this.options.outputSourceFiles,
					sourceMapGenerator: this.options.sourceMapGenerator,
					sourceMapFileInline: this.options.sourceMapFileInline,
					disableSourcemapAnnotation: this.options.disableSourcemapAnnotation
				})),
					(i = e.toCSS(t)));
				return (
					(this.sourceMap = e.sourceMap),
					(this.sourceMapURL = e.sourceMapURL),
					this.options.sourceMapInputFilename &&
						(this.sourceMapInputFilename = e.normalizeFilename(
							this.options.sourceMapInputFilename
						)),
					void 0 !== this.options.sourceMapBasepath &&
						void 0 !== this.sourceMapURL &&
						(this.sourceMapURL = e.removeBasepath(this.sourceMapURL)),
					i + this.getCSSAppendage()
				);
			}),
			(l.prototype.getCSSAppendage = function () {
				var e = this.sourceMapURL;
				if (this.options.sourceMapFileInline) {
					if (void 0 === this.sourceMap) return "";
					e = "data:application/json;base64," + o.encodeBase64(this.sourceMap);
				}
				return !this.options.disableSourcemapAnnotation && e
					? "/*# sourceMappingURL=" + e + " */"
					: "";
			}),
			(l.prototype.getExternalSourceMap = function () {
				return this.sourceMap;
			}),
			(l.prototype.setExternalSourceMap = function (e) {
				this.sourceMap = e;
			}),
			(l.prototype.isInline = function () {
				return this.options.sourceMapFileInline;
			}),
			(l.prototype.getSourceMapURL = function () {
				return this.sourceMapURL;
			}),
			(l.prototype.getOutputFilename = function () {
				return this.options.sourceMapOutputFilename;
			}),
			(l.prototype.getInputFilename = function () {
				return this.sourceMapInputFilename;
			}),
			(u = i = l),
			(c.prototype.toCSS = function (e) {
				var t,
					i,
					n,
					r = {};
				try {
					t = At(this.root, e);
				} catch (e) {
					throw new I(e, this.imports);
				}
				try {
					var s = Boolean(e.compress),
						o =
							(s &&
								D.warn(
									"The compress option has been deprecated. We recommend you use a dedicated css minifier, for instance see less-plugin-clean-css."
								),
							{
								compress: s,
								dumpLineNumbers: e.dumpLineNumbers,
								strictUnits: Boolean(e.strictUnits),
								numPrecision: 8
							});
					e.sourceMap
						? ((i = new u(e.sourceMap)), (r.css = i.toCSS(t, o, this.imports)))
						: (r.css = t.toCSS(o));
				} catch (e) {
					throw new I(e, this.imports);
				}
				if (e.pluginManager)
					for (var a = e.pluginManager.getPostProcessors(), l = 0; l < a.length; l++)
						r.css = a[l].process(r.css, {
							sourceMap: i,
							options: e,
							imports: this.imports
						});
				for (n in (e.sourceMap && (r.map = i.getExternalSourceMap()),
				(r.imports = []),
				this.imports.files))
					this.imports.files.hasOwnProperty(n) &&
						n !== this.imports.rootFilename &&
						r.imports.push(n);
				return r;
			}),
			(n = c),
			(d = e),
			(h.prototype.push = function (r, e, s, o, a) {
				var i,
					t,
					n,
					l,
					u = this,
					c = this.context.pluginManager.Loader,
					h =
						(this.queue.push(r),
						function (e, t, i) {
							u.queue.splice(u.queue.indexOf(r), 1);
							var n = i === u.rootFilename;
							o.optional && e
								? (a(null, { rules: [] }, !1, null),
									D.info(
										"The file " +
											i +
											" was skipped because it was not found and the import was marked optional."
									))
								: (u.files[i] || o.inline || (u.files[i] = { root: t, options: o }),
									e && !u.error && (u.error = e),
									a(e, t, n, i));
						}),
					f = {
						rewriteUrls: this.context.rewriteUrls,
						entryPath: s.entryPath,
						rootpath: s.rootpath,
						rootFilename: s.rootFilename
					},
					p = d.getFileManager(r, s.currentDirectory, this.context, d);
				p
					? ((i = function (e) {
							var t,
								i = e.filename,
								e = e.contents.replace(/^\uFEFF/, ""),
								n =
									((f.currentDirectory = p.getPath(i)),
									f.rewriteUrls &&
										((f.rootpath = p.join(
											u.context.rootpath || "",
											p.pathDiff(f.currentDirectory, f.entryPath)
										)),
										!p.isPathAbsolute(f.rootpath)) &&
										p.alwaysMakePathsAbsolute() &&
										(f.rootpath = p.join(f.entryPath, f.rootpath)),
									(f.filename = i),
									new C.Parse(u.context));
							((n.processImports = !1),
								(u.contents[i] = e),
								(s.reference || o.reference) && (f.reference = !0),
								o.isPlugin
									? (t = c.evalPlugin(e, n, u, o.pluginArgs, f)) instanceof I
										? h(t, null, i)
										: h(null, t, i)
									: o.inline
										? h(null, e, i)
										: !u.files[i] || u.files[i].options.multiple || o.multiple
											? new nt(n, u, f).parse(e, function (e, t) {
													h(e, t, i);
												})
											: h(null, u.files[i].root, i));
						}),
						(l = ee(this.context)),
						e && (l.ext = o.isPlugin ? ".js" : ".less"),
						o.isPlugin
							? ((l.mime = "application/javascript"),
								l.syncImport
									? (t = c.loadPluginSync(r, s.currentDirectory, l, d, p))
									: (n = c.loadPlugin(r, s.currentDirectory, l, d, p)))
							: l.syncImport
								? (t = p.loadFileSync(r, s.currentDirectory, l, d))
								: (n = p.loadFile(r, s.currentDirectory, l, d, function (e, t) {
										e ? h(e) : i(t);
									})),
						t ? (t.filename ? i : h)(t) : n && n.then(i, h))
					: h({ message: "Could not find a file-manager for " + r });
			}));
		function f(t) {
			return function () {
				var e = Object.create(t.prototype);
				return (t.apply(e, Array.prototype.slice.call(arguments, 0)), e);
			};
		}
		var p,
			m,
			v,
			g = Ot(0, n),
			y = Rt(0, 0, (p = h)),
			b = Lt("v" + Ft),
			w = {
				version: [b.major, b.minor, b.patch],
				data: z,
				tree: k,
				Environment: B,
				AbstractFileManager: De,
				AbstractPluginLoader: Be,
				environment: e,
				visitors: tt,
				Parser: nt,
				functions: _t(e),
				contexts: C,
				SourceMapOutput: t,
				SourceMapBuilder: i,
				ParseTree: n,
				ImportManager: p,
				render: g,
				parse: y,
				LessError: I,
				transformTree: At,
				utils: re,
				PluginManager: Et,
				logger: D
			},
			x = Object.create(w);
		for (v in w.tree)
			if ("function" == typeof (m = w.tree[v])) x[v.toLowerCase()] = f(m);
			else for (var S in ((x[v] = Object.create(null)), m)) x[v][S.toLowerCase()] = f(m[S]);
		return ((w.parse = w.parse.bind(x)), (w.render = w.render.bind(x)), x);
	}
	function Nt(e) {
		this.less = e;
	}
	function Dt(l, r, u) {
		function i(e, t) {
			function i(e, t, i) {
				void 0 !== e.extract[t] &&
					o.push(
						'<li><label>{line}</label><pre class="{class}">{content}</pre></li>'
							.replace(/\{line\}/, (parseInt(e.line, 10) || 0) + (t - 1))
							.replace(/\{class\}/, i)
							.replace(/\{content\}/, e.extract[t])
					);
			}
			var n,
				r = "less-error-message:" + L(t || ""),
				s = l.document.createElement("div"),
				o = [],
				t = e.filename || t,
				a = t.match(/([^\/]+(\?.*)?)$/)[1];
			((s.id = r),
				(s.className = "less-error-message"),
				(t =
					"<h3>" +
					(e.type || "Syntax") +
					"Error: " +
					(e.message || "There is an error in your .less file") +
					'</h3><p>in <a href="' +
					t +
					'">' +
					a +
					"</a> "));
			(e.line &&
				(i(e, 0, ""),
				i(e, 1, "line"),
				i(e, 2, ""),
				(t +=
					"on line " +
					e.line +
					", column " +
					(e.column + 1) +
					":</p><ul>" +
					o.join("") +
					"</ul>")),
				e.stack &&
					(e.extract || 4 <= u.logLevel) &&
					(t += "<br/>Stack Trace</br />" + e.stack.split("\n").slice(1).join("<br/>")),
				(s.innerHTML = t),
				N.createCSS(
					l.document,
					[
						".less-error-message ul, .less-error-message li {",
						"list-style-type: none;",
						"margin-right: 15px;",
						"padding: 4px 0;",
						"margin: 0;",
						"}",
						".less-error-message label {",
						"font-size: 12px;",
						"margin-right: 15px;",
						"padding: 4px 0;",
						"color: #cc7777;",
						"}",
						".less-error-message pre {",
						"color: #dd6666;",
						"padding: 4px 0;",
						"margin: 0;",
						"display: inline-block;",
						"}",
						".less-error-message pre.line {",
						"color: #ff0000;",
						"}",
						".less-error-message h3 {",
						"font-size: 20px;",
						"font-weight: bold;",
						"padding: 15px 0 5px 0;",
						"margin: 0;",
						"}",
						".less-error-message a {",
						"color: #10a",
						"}",
						".less-error-message .error {",
						"color: red;",
						"font-weight: bold;",
						"padding-bottom: 2px;",
						"border-bottom: 1px dashed red;",
						"}"
					].join("\n"),
					{ title: "error-message" }
				),
				(s.style.cssText = [
					"font-family: Arial, sans-serif",
					"border: 1px solid #e00",
					"background-color: #eee",
					"border-radius: 5px",
					"-webkit-border-radius: 5px",
					"-moz-border-radius: 5px",
					"color: #e00",
					"padding: 15px",
					"margin-bottom: 15px"
				].join(";")),
				"development" === u.env &&
					(n = setInterval(function () {
						var e = l.document,
							t = e.body;
						t &&
							(e.getElementById(r)
								? t.replaceChild(s, e.getElementById(r))
								: t.insertBefore(s, t.firstChild),
							clearInterval(n));
					}, 10)));
		}
		function n(e, t) {
			function i(e, t, i) {
				void 0 !== e.extract[t] &&
					n.push(
						"{line} {content}"
							.replace(/\{line\}/, (parseInt(e.line, 10) || 0) + (t - 1))
							.replace(/\{class\}/, i)
							.replace(/\{content\}/, e.extract[t])
					);
			}
			var t = e.filename || t,
				n = [],
				t =
					(e.type || "Syntax") +
					"Error: " +
					(e.message || "There is an error in your .less file") +
					" in " +
					t;
			(e.line &&
				(i(e, 0, ""),
				i(e, 1, "line"),
				i(e, 2, ""),
				(t += " on line " + e.line + ", column " + (e.column + 1) + ":\n" + n.join("\n"))),
				e.stack && (e.extract || 4 <= u.logLevel) && (t += "\nStack Trace\n" + e.stack),
				r.logger.error(t));
		}
		return {
			add: function (e, t) {
				u.errorReporting && "html" !== u.errorReporting
					? "console" === u.errorReporting
						? n(e, t)
						: "function" == typeof u.errorReporting && u.errorReporting("add", e, t)
					: i(e, t);
			},
			remove: function (e) {
				u.errorReporting && "html" !== u.errorReporting
					? "console" !== u.errorReporting &&
						"function" == typeof u.errorReporting &&
						u.errorReporting("remove", e)
					: ((e = e),
						(e = l.document.getElementById("less-error-message:" + L(e))) &&
							e.parentNode.removeChild(e));
			}
		};
	}
	var Bt = {},
		Ut = function () {},
		$ =
			((Ut.prototype = Object.assign(new De(), {
				alwaysMakePathsAbsolute: function () {
					return !0;
				},
				join: function (e, t) {
					return e ? this.extractUrlParts(t, e).path : t;
				},
				doXHR: function (n, e, t, i) {
					var r = new XMLHttpRequest(),
						s = !Vt.isFileProtocol || Vt.fileAsync;
					function o(e, t, i) {
						200 <= e.status && e.status < 300
							? t(e.responseText, e.getResponseHeader("Last-Modified"))
							: "function" == typeof i && i(e.status, n);
					}
					("function" == typeof r.overrideMimeType && r.overrideMimeType("text/css"),
						$t.debug("XHR: Getting '" + n + "'"),
						r.open("GET", n, s),
						r.setRequestHeader(
							"Accept",
							e || "text/x-less, text/css; q=0.9, */*; q=0.5"
						),
						r.send(null),
						Vt.isFileProtocol && !Vt.fileAsync
							? 0 === r.status || (200 <= r.status && r.status < 300)
								? t(r.responseText)
								: i(r.status, n)
							: s
								? (r.onreadystatechange = function () {
										4 == r.readyState && o(r, t, i);
									})
								: o(r, t, i));
				},
				supports: function () {
					return !0;
				},
				clearFileCache: function () {
					Bt = {};
				},
				loadFile: function (e, t, r, i) {
					(t && !this.isPathAbsolute(e) && (e = t + e),
						(e = r.ext ? this.tryAppendExtension(e, r.ext) : e),
						(r = r || {}));
					var s = this.extractUrlParts(e, window.location.href).url,
						o = this;
					return new Promise(function (i, n) {
						if (r.useFileCache && Bt[s])
							try {
								var e = Bt[s];
								return i({
									contents: e,
									filename: s,
									webInfo: { lastModified: new Date() }
								});
							} catch (e) {
								return n({
									filename: s,
									message: "Error loading file " + s + " error was " + e.message
								});
							}
						o.doXHR(
							s,
							r.mime,
							function (e, t) {
								((Bt[s] = e),
									i({ contents: e, filename: s, webInfo: { lastModified: t } }));
							},
							function (e, t) {
								n({
									type: "File",
									message: "'" + t + "' wasn't found (" + e + ")",
									href: s
								});
							}
						);
					});
				}
			})),
			(Nt.prototype = Object.assign(new Be(), {
				loadPlugin: function (i, n, r, s, o) {
					return new Promise(function (e, t) {
						o.loadFile(i, n, r, s).then(e).catch(t);
					});
				}
			})),
			{
				javascriptEnabled: !1,
				depends: !1,
				compress: !1,
				lint: !1,
				paths: [],
				color: !0,
				strictImports: !1,
				insecure: !1,
				rootpath: "",
				rewriteUrls: !1,
				math: 1,
				strictUnits: !1,
				globalVars: null,
				modifyVars: null,
				urlArgs: ""
			});
	if (window.less)
		for (var qt in window.less) window.less.hasOwnProperty(qt) && ($[qt] = window.less[qt]);
	var Tt,
		zt,
		t = window,
		o = $,
		S =
			(j(o, N.currentScript(t)),
			void 0 === o.isFileProtocol &&
				(o.isFileProtocol = /^(file|(chrome|safari)(-extension)?|resource|qrc|app):/.test(
					t.location.protocol
				)),
			(o.async = o.async || !1),
			(o.fileAsync = o.fileAsync || !1),
			(o.poll = o.poll || (o.isFileProtocol ? 1e3 : 1500)),
			(o.env =
				o.env ||
				("127.0.0.1" == t.location.hostname ||
				"0.0.0.0" == t.location.hostname ||
				"localhost" == t.location.hostname ||
				(t.location.port && 0 < t.location.port.length) ||
				o.isFileProtocol
					? "development"
					: "production")),
			(t = /!dumpLineNumbers:(comments|mediaquery|all)/.exec(t.location.hash)) &&
				(o.dumpLineNumbers = t[1]),
			void 0 === o.useFileCache && (o.useFileCache = !0),
			void 0 === o.onReady && (o.onReady = !0),
			o.relativeUrls && (o.rewriteUrls = "all"),
			($.plugins = $.plugins || []),
			window.LESS_PLUGINS && ($.plugins = $.plugins.concat(window.LESS_PLUGINS)),
			((h, c) => {
				var o = h.document,
					f = jt(),
					t = ((f.options = c), f.environment),
					e = ((Vt = c), ($t = f.logger), Ut),
					p = new e(),
					i = (t.addFileManager(p), (f.FileManager = e), (f.PluginLoader = Nt), f),
					n = c;
				((n.logLevel =
					void 0 !== n.logLevel ? n.logLevel : "development" === n.env ? 3 : 1),
					n.loggers ||
						(n.loggers = [
							{
								debug: function (e) {
									4 <= n.logLevel && console.log(e);
								},
								info: function (e) {
									3 <= n.logLevel && console.log(e);
								},
								warn: function (e) {
									2 <= n.logLevel && console.warn(e);
								},
								error: function (e) {
									1 <= n.logLevel && console.error(e);
								}
							}
						]));
				for (var r = 0; r < n.loggers.length; r++) i.logger.addListener(n.loggers[r]);
				var d = Dt(h, f, c),
					m = (f.cache =
						c.cache ||
						((e, t, r) => {
							var s = null;
							if ("development" !== t.env)
								try {
									s = void 0 === e.localStorage ? null : e.localStorage;
								} catch (e) {}
							return {
								setCSS: function (t, e, i, n) {
									if (s) {
										r.info("saving " + t + " to cache.");
										try {
											(s.setItem(t, n),
												s.setItem(t + ":timestamp", e),
												i && s.setItem(t + ":vars", JSON.stringify(i)));
										} catch (e) {
											r.error(
												'failed to save "' +
													t +
													'" to local storage for caching.'
											);
										}
									}
								},
								getCSS: function (e, t, i) {
									var n = s && s.getItem(e),
										r = s && s.getItem(e + ":timestamp");
									if (
										((i = i || {}),
										(e = (s && s.getItem(e + ":vars")) || "{}"),
										r &&
											t.lastModified &&
											new Date(t.lastModified).valueOf() ===
												new Date(r).valueOf() &&
											JSON.stringify(i) === e)
									)
										return n;
								}
							};
						})(h, c, f.logger));
				function s() {
					throw {
						type: "Runtime",
						message: "Image size functions are not supported in browser version of less"
					};
				}
				(f.environment,
					x.addMultiple({
						"image-size": function (e) {
							return (s(), -1);
						},
						"image-width": function (e) {
							return (s(), -1);
						},
						"image-height": function (e) {
							return (s(), -1);
						}
					}),
					c.functions && f.functions.functionRegistry.addMultiple(c.functions));
				var a = /^text\/(x-)?less$/;
				function v(e) {
					var t,
						i = {};
					for (t in e) e.hasOwnProperty(t) && (i[t] = e[t]);
					return i;
				}
				function g(e) {
					for (var t, i, n, r = o.getElementsByTagName("style"), s = 0; s < r.length; s++)
						(n = r[s]).type.match(a) &&
							(((t = v(c)).modifyVars = e),
							(i = n.innerHTML || ""),
							(t.filename = o.location.href.replace(/#.*$/, "")),
							f.render(
								i,
								t,
								(function (t, i) {
									var n = Array.prototype.slice.call(arguments, 2);
									return function () {
										var e = n.concat(Array.prototype.slice.call(arguments, 0));
										return t.apply(i, e);
									};
								})(
									function (e, t, i) {
										t
											? d.add(t, "inline")
											: ((e.type = "text/css"),
												e.styleSheet
													? (e.styleSheet.cssText = i.css)
													: (e.innerHTML = i.css));
									},
									null,
									n
								)
							));
				}
				function l(s, o, a, l, e) {
					var u = v(c);
					(j(u, s),
						(u.mime = s.type),
						e && (u.modifyVars = e),
						p
							.loadFile(s.href, null, u, t)
							.then(function (e) {
								var i = e.contents,
									n = e.filename,
									r = e.webInfo;
								if (
									(((e = {
										currentDirectory: p.getPath(n),
										filename: n,
										rootFilename: n,
										rewriteUrls: u.rewriteUrls
									}).entryPath = e.currentDirectory),
									(e.rootpath = u.rootpath || e.currentDirectory),
									r)
								) {
									r.remaining = l;
									var t = m.getCSS(n, r, u.modifyVars);
									if (!a && t)
										return void ((r.local = !0), o(null, t, i, s, r, n));
								}
								(d.remove(n),
									(u.rootFileInfo = e),
									f.render(i, u, function (e, t) {
										e
											? ((e.href = n), o(e))
											: (m.setCSS(
													s.href,
													r.lastModified,
													u.modifyVars,
													t.css
												),
												o(null, t.css, i, s, r, n));
									}));
							})
							.catch(function (e) {
								(console.log(e), o(e));
							}));
				}
				function y(e, t, i) {
					for (var n = 0; n < f.sheets.length; n++)
						l(f.sheets[n], e, t, f.sheets.length - (n + 1), i);
				}
				return (
					(f.watch = function () {
						return (
							f.watchMode ||
								((f.env = "development") === f.env &&
									(f.watchTimer = setInterval(function () {
										f.watchMode &&
											(p.clearFileCache(),
											y(function (e, t, i, n, r) {
												e
													? d.add(e, e.href || n.href)
													: t && N.createCSS(h.document, t, n);
											}));
									}, c.poll))),
							(this.watchMode = !0)
						);
					}),
					(f.unwatch = function () {
						return (clearInterval(f.watchTimer), (this.watchMode = !1));
					}),
					(f.registerStylesheetsImmediately = function () {
						var e = o.getElementsByTagName("link");
						f.sheets = [];
						for (var t = 0; t < e.length; t++)
							("stylesheet/less" === e[t].rel ||
								(e[t].rel.match(/stylesheet/) && e[t].type.match(a))) &&
								f.sheets.push(e[t]);
					}),
					(f.registerStylesheets = function () {
						return new Promise(function (e, t) {
							(f.registerStylesheetsImmediately(), e());
						});
					}),
					(f.modifyVars = function (e) {
						return f.refresh(!0, e, !1);
					}),
					(f.refresh = function (e, t, i) {
						return (
							(e || i) && !1 !== i && p.clearFileCache(),
							new Promise(function (s, o) {
								var a,
									l,
									u = (a = new Date()),
									c = f.sheets.length;
								(0 === c
									? ((a = new Date()),
										s({
											startTime: u,
											endTime: a,
											totalMilliseconds: (l = a - u),
											sheets: f.sheets.length
										}))
									: y(
											function (e, t, i, n, r) {
												e
													? (d.add(e, e.href || n.href), o(e))
													: (r.local
															? f.logger.info(
																	"Loading " +
																		n.href +
																		" from cache."
																)
															: f.logger.info(
																	"Rendered " +
																		n.href +
																		" successfully."
																),
														N.createCSS(h.document, t, n),
														f.logger.info(
															"CSS for " +
																n.href +
																" generated in " +
																(new Date() - a) +
																"ms"
														),
														0 === --c &&
															((l = new Date() - u),
															f.logger.info(
																"Less has finished. CSS generated in " +
																	l +
																	"ms"
															),
															s({
																startTime: u,
																endTime: a,
																totalMilliseconds: l,
																sheets: f.sheets.length
															})),
														(a = new Date()));
											},
											e,
											t
										),
									g(t));
							})
						);
					}),
					(f.refreshStyles = g),
					f
				);
			})(window, $));
	function Gt(e) {
		(e.filename && console.warn(e), $.async || Tt.removeChild(zt));
	}
	return (
		(window.less = S),
		$.onReady &&
			(/!watch/.test(window.location.hash) && S.watch(),
			$.async ||
				((o = "body { display: none !important }"),
				(Tt = document.head || document.getElementsByTagName("head")[0]),
				((zt = document.createElement("style")).type = "text/css"),
				zt.styleSheet
					? (zt.styleSheet.cssText = o)
					: zt.appendChild(document.createTextNode(o)),
				Tt.appendChild(zt)),
			S.registerStylesheetsImmediately(),
			(S.pageLoadFinished = S.refresh("development" === S.env).then(Gt, Gt))),
		S
	);
});
